{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import gym\n",
    "import numpy as np\n",
    "import math\n",
    "from collections import deque\n",
    "import time\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "class MountaincarQAgent():\n",
    "    def __init__(self, buckets=(12, 12), num_episodes=500000, min_epsilon=0.01, discount=0.99, decay=100, force=True):\n",
    "        self.buckets = buckets\n",
    "        self.num_episodes = num_episodes\n",
    "        self.min_epsilon = min_epsilon\n",
    "        self.discount = discount\n",
    "        self.decay = decay\n",
    "\n",
    "        self.env = gym.make('MountainCar-v0')\n",
    "        self.upper_bounds = [self.env.observation_space.high[0], self.env.observation_space.high[1]]\n",
    "        self.lower_bounds = [self.env.observation_space.low[0], self.env.observation_space.low[1]]\n",
    "        \n",
    "        ## Concatination of tuples to get shape (12,12,3) for buckets=(12, 12)\n",
    "        self.Q_table = np.zeros(self.buckets + (self.env.action_space.n,))        \n",
    "        \n",
    "        self.learning_rate = 0.008\n",
    "        \n",
    "        self.threshold = self.env.spec.reward_threshold\n",
    "        print('threshold: ', self.threshold)\n",
    "\n",
    "    def discretize_state(self, obs):\n",
    "        discretized = list()\n",
    "        for i in range(len(obs)):\n",
    "            scaling = (obs[i] + abs(self.lower_bounds[i])) / (self.upper_bounds[i] - self.lower_bounds[i])\n",
    "            new_obs = int(round((self.buckets[i] - 1) * scaling))\n",
    "            new_obs = min(self.buckets[i] - 1, max(0, new_obs))\n",
    "            discretized.append(new_obs)\n",
    "        return tuple(discretized)\n",
    "\n",
    "    \n",
    "    def choose_action(self, state):\n",
    "        if (np.random.random() < self.epsilon):\n",
    "            return self.env.action_space.sample() \n",
    "        else:\n",
    "            return np.argmax(self.Q_table[state])\n",
    "\n",
    "    def update_q(self, state, action, reward, new_state):\n",
    "        self.Q_table[state][action] += \\\n",
    "           self.learning_rate * (reward + self.discount * np.max(self.Q_table[new_state]) - self.Q_table[state][action])\n",
    "\n",
    "    def get_epsilon(self, t):\n",
    "        return max(self.min_epsilon, min(1., 1. - math.log10((t + 1) / self.decay)))\n",
    "\n",
    "    \n",
    "    def train(self):\n",
    "        scores_deque = deque(maxlen=100)\n",
    "        scores_array = []\n",
    "        avg_scores_array = []  \n",
    "        print_every = 400\n",
    "        time_start = time.time()\n",
    "        \n",
    "        for i_episode in range(self.num_episodes):\n",
    "            current_state = self.discretize_state(self.env.reset())\n",
    "\n",
    "            self.epsilon = self.get_epsilon(i_episode)\n",
    "            done = False\n",
    "            \n",
    "            episode_reward = 0\n",
    "            time_step = 0\n",
    "            \n",
    "            while not done:\n",
    "                action = self.choose_action(current_state)\n",
    "                obs, reward, done, _ = self.env.step(action)   \n",
    "                new_state = self.discretize_state(obs)\n",
    "                self.update_q(current_state, action, reward, new_state)\n",
    "                current_state = new_state\n",
    "                time_step += 1\n",
    "                episode_reward += reward\n",
    "                \n",
    "            scores_deque.append(episode_reward)\n",
    "            scores_array.append(episode_reward)\n",
    "            \n",
    "            avg_score = np.mean(scores_deque)\n",
    "            avg_scores_array.append(avg_score)\n",
    "            \n",
    "            s = (int)(time.time() - time_start)\n",
    "            \n",
    "            if i_episode % print_every == 0 and i_episode > 0:                \n",
    "                print('Episode: {}, Timesteps:  {}, Score: {:5},  Avg.Score: {:.2f}, eps-greedy: {:5.2f}, Time: {:02}:{:02}:{:02}'.\\\n",
    "                    format(i_episode, time_step, episode_reward, avg_score, self.epsilon, s//3600, s%3600//60, s%60))    \n",
    "                \n",
    "            if avg_score >= self.threshold: \n",
    "                print('\\n Environment solved in {:d} episodes!\\tAverage Score: {:.2f}'. \\\n",
    "                    format(i_episode, np.mean(scores_deque)))\n",
    "                break                                \n",
    "\n",
    "        print('Finished training!')\n",
    "        \n",
    "        return scores_array, avg_scores_array\n",
    "\n",
    "    def run(self):\n",
    "        self.env = gym.wrappers.Monitor(self.env,'Mountaincar', force=True)\n",
    "        t = 0\n",
    "        done = False\n",
    "        current_state = self.discretize_state(self.env.reset())\n",
    "        while not done:\n",
    "                self.env.render()\n",
    "                t = t+1\n",
    "                action = self.choose_action(current_state)\n",
    "                obs, reward, done, _ = self.env.step(action)\n",
    "                new_state = self.discretize_state(obs)\n",
    "                current_state = new_state\n",
    "            \n",
    "        return t\n",
    "    \n",
    "    def close(self):\n",
    "        self.env.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "threshold:  -110.0\n",
      "Episode: 400, Timesteps:  200, Score: -200.0,  Avg.Score: -200.00, eps-greedy:  0.40, Time: 00:00:02\n",
      "Episode: 800, Timesteps:  200, Score: -200.0,  Avg.Score: -200.00, eps-greedy:  0.10, Time: 00:00:04\n",
      "Episode: 1200, Timesteps:  200, Score: -200.0,  Avg.Score: -199.62, eps-greedy:  0.01, Time: 00:00:06\n",
      "Episode: 1600, Timesteps:  200, Score: -200.0,  Avg.Score: -199.84, eps-greedy:  0.01, Time: 00:00:09\n",
      "Episode: 2000, Timesteps:  193, Score: -193.0,  Avg.Score: -196.12, eps-greedy:  0.01, Time: 00:00:11\n",
      "Episode: 2400, Timesteps:  200, Score: -200.0,  Avg.Score: -198.42, eps-greedy:  0.01, Time: 00:00:13\n",
      "Episode: 2800, Timesteps:  173, Score: -173.0,  Avg.Score: -182.97, eps-greedy:  0.01, Time: 00:00:16\n",
      "Episode: 3200, Timesteps:  200, Score: -200.0,  Avg.Score: -193.94, eps-greedy:  0.01, Time: 00:00:18\n",
      "Episode: 3600, Timesteps:  200, Score: -200.0,  Avg.Score: -192.51, eps-greedy:  0.01, Time: 00:00:20\n",
      "Episode: 4000, Timesteps:  200, Score: -200.0,  Avg.Score: -197.74, eps-greedy:  0.01, Time: 00:00:22\n",
      "Episode: 4400, Timesteps:  185, Score: -185.0,  Avg.Score: -193.06, eps-greedy:  0.01, Time: 00:00:25\n",
      "Episode: 4800, Timesteps:  200, Score: -200.0,  Avg.Score: -194.09, eps-greedy:  0.01, Time: 00:00:28\n",
      "Episode: 5200, Timesteps:  153, Score: -153.0,  Avg.Score: -195.09, eps-greedy:  0.01, Time: 00:00:30\n",
      "Episode: 5600, Timesteps:  196, Score: -196.0,  Avg.Score: -177.66, eps-greedy:  0.01, Time: 00:00:32\n",
      "Episode: 6000, Timesteps:  196, Score: -196.0,  Avg.Score: -188.18, eps-greedy:  0.01, Time: 00:00:35\n",
      "Episode: 6400, Timesteps:  163, Score: -163.0,  Avg.Score: -189.34, eps-greedy:  0.01, Time: 00:00:37\n",
      "Episode: 6800, Timesteps:  200, Score: -200.0,  Avg.Score: -183.44, eps-greedy:  0.01, Time: 00:00:40\n",
      "Episode: 7200, Timesteps:  200, Score: -200.0,  Avg.Score: -192.94, eps-greedy:  0.01, Time: 00:00:43\n",
      "Episode: 7600, Timesteps:  200, Score: -200.0,  Avg.Score: -174.40, eps-greedy:  0.01, Time: 00:00:45\n",
      "Episode: 8000, Timesteps:  200, Score: -200.0,  Avg.Score: -188.69, eps-greedy:  0.01, Time: 00:00:47\n",
      "Episode: 8400, Timesteps:  200, Score: -200.0,  Avg.Score: -175.34, eps-greedy:  0.01, Time: 00:00:49\n",
      "Episode: 8800, Timesteps:  183, Score: -183.0,  Avg.Score: -172.22, eps-greedy:  0.01, Time: 00:00:51\n",
      "Episode: 9200, Timesteps:  128, Score: -128.0,  Avg.Score: -161.06, eps-greedy:  0.01, Time: 00:00:53\n",
      "Episode: 9600, Timesteps:  174, Score: -174.0,  Avg.Score: -177.18, eps-greedy:  0.01, Time: 00:00:55\n",
      "Episode: 10000, Timesteps:  112, Score: -112.0,  Avg.Score: -166.64, eps-greedy:  0.01, Time: 00:00:57\n",
      "Episode: 10400, Timesteps:  163, Score: -163.0,  Avg.Score: -163.84, eps-greedy:  0.01, Time: 00:00:59\n",
      "Episode: 10800, Timesteps:  145, Score: -145.0,  Avg.Score: -165.36, eps-greedy:  0.01, Time: 00:01:01\n",
      "Episode: 11200, Timesteps:  147, Score: -147.0,  Avg.Score: -162.15, eps-greedy:  0.01, Time: 00:01:03\n",
      "Episode: 11600, Timesteps:  176, Score: -176.0,  Avg.Score: -164.05, eps-greedy:  0.01, Time: 00:01:05\n",
      "Episode: 12000, Timesteps:  195, Score: -195.0,  Avg.Score: -161.37, eps-greedy:  0.01, Time: 00:01:07\n",
      "Episode: 12400, Timesteps:  181, Score: -181.0,  Avg.Score: -169.11, eps-greedy:  0.01, Time: 00:01:09\n",
      "Episode: 12800, Timesteps:  191, Score: -191.0,  Avg.Score: -167.51, eps-greedy:  0.01, Time: 00:01:12\n",
      "Episode: 13200, Timesteps:  185, Score: -185.0,  Avg.Score: -170.75, eps-greedy:  0.01, Time: 00:01:14\n",
      "Episode: 13600, Timesteps:  190, Score: -190.0,  Avg.Score: -170.04, eps-greedy:  0.01, Time: 00:01:16\n",
      "Episode: 14000, Timesteps:  154, Score: -154.0,  Avg.Score: -163.99, eps-greedy:  0.01, Time: 00:01:18\n",
      "Episode: 14400, Timesteps:  148, Score: -148.0,  Avg.Score: -169.13, eps-greedy:  0.01, Time: 00:01:21\n",
      "Episode: 14800, Timesteps:  156, Score: -156.0,  Avg.Score: -162.44, eps-greedy:  0.01, Time: 00:01:23\n",
      "Episode: 15200, Timesteps:  196, Score: -196.0,  Avg.Score: -165.59, eps-greedy:  0.01, Time: 00:01:25\n",
      "Episode: 15600, Timesteps:  200, Score: -200.0,  Avg.Score: -165.99, eps-greedy:  0.01, Time: 00:01:27\n",
      "Episode: 16000, Timesteps:  174, Score: -174.0,  Avg.Score: -160.65, eps-greedy:  0.01, Time: 00:01:30\n",
      "Episode: 16400, Timesteps:  173, Score: -173.0,  Avg.Score: -158.21, eps-greedy:  0.01, Time: 00:01:32\n",
      "Episode: 16800, Timesteps:  176, Score: -176.0,  Avg.Score: -175.82, eps-greedy:  0.01, Time: 00:01:34\n",
      "Episode: 17200, Timesteps:  175, Score: -175.0,  Avg.Score: -169.34, eps-greedy:  0.01, Time: 00:01:36\n",
      "Episode: 17600, Timesteps:  176, Score: -176.0,  Avg.Score: -170.62, eps-greedy:  0.01, Time: 00:01:38\n",
      "Episode: 18000, Timesteps:  158, Score: -158.0,  Avg.Score: -163.42, eps-greedy:  0.01, Time: 00:01:40\n",
      "Episode: 18400, Timesteps:  146, Score: -146.0,  Avg.Score: -159.03, eps-greedy:  0.01, Time: 00:01:42\n",
      "Episode: 18800, Timesteps:  176, Score: -176.0,  Avg.Score: -161.75, eps-greedy:  0.01, Time: 00:01:44\n",
      "Episode: 19200, Timesteps:  107, Score: -107.0,  Avg.Score: -153.59, eps-greedy:  0.01, Time: 00:01:46\n",
      "Episode: 19600, Timesteps:  160, Score: -160.0,  Avg.Score: -160.95, eps-greedy:  0.01, Time: 00:01:48\n",
      "Episode: 20000, Timesteps:  155, Score: -155.0,  Avg.Score: -154.50, eps-greedy:  0.01, Time: 00:01:50\n",
      "Episode: 20400, Timesteps:  152, Score: -152.0,  Avg.Score: -151.20, eps-greedy:  0.01, Time: 00:01:52\n",
      "Episode: 20800, Timesteps:  193, Score: -193.0,  Avg.Score: -173.70, eps-greedy:  0.01, Time: 00:01:54\n",
      "Episode: 21200, Timesteps:  172, Score: -172.0,  Avg.Score: -174.62, eps-greedy:  0.01, Time: 00:01:56\n",
      "Episode: 21600, Timesteps:  188, Score: -188.0,  Avg.Score: -170.76, eps-greedy:  0.01, Time: 00:01:59\n",
      "Episode: 22000, Timesteps:  183, Score: -183.0,  Avg.Score: -165.08, eps-greedy:  0.01, Time: 00:02:01\n",
      "Episode: 22400, Timesteps:  156, Score: -156.0,  Avg.Score: -168.20, eps-greedy:  0.01, Time: 00:02:03\n",
      "Episode: 22800, Timesteps:  200, Score: -200.0,  Avg.Score: -178.06, eps-greedy:  0.01, Time: 00:02:05\n",
      "Episode: 23200, Timesteps:  151, Score: -151.0,  Avg.Score: -165.99, eps-greedy:  0.01, Time: 00:02:07\n",
      "Episode: 23600, Timesteps:  181, Score: -181.0,  Avg.Score: -148.43, eps-greedy:  0.01, Time: 00:02:09\n",
      "Episode: 24000, Timesteps:  200, Score: -200.0,  Avg.Score: -156.92, eps-greedy:  0.01, Time: 00:02:11\n",
      "Episode: 24400, Timesteps:  175, Score: -175.0,  Avg.Score: -148.29, eps-greedy:  0.01, Time: 00:02:13\n",
      "Episode: 24800, Timesteps:  161, Score: -161.0,  Avg.Score: -160.45, eps-greedy:  0.01, Time: 00:02:15\n",
      "Episode: 25200, Timesteps:  200, Score: -200.0,  Avg.Score: -167.69, eps-greedy:  0.01, Time: 00:02:17\n",
      "Episode: 25600, Timesteps:  111, Score: -111.0,  Avg.Score: -162.27, eps-greedy:  0.01, Time: 00:02:19\n",
      "Episode: 26000, Timesteps:  165, Score: -165.0,  Avg.Score: -150.51, eps-greedy:  0.01, Time: 00:02:21\n",
      "Episode: 26400, Timesteps:  163, Score: -163.0,  Avg.Score: -144.82, eps-greedy:  0.01, Time: 00:02:23\n",
      "Episode: 26800, Timesteps:  173, Score: -173.0,  Avg.Score: -142.65, eps-greedy:  0.01, Time: 00:02:25\n",
      "Episode: 27200, Timesteps:  112, Score: -112.0,  Avg.Score: -156.79, eps-greedy:  0.01, Time: 00:02:27\n",
      "Episode: 27600, Timesteps:  169, Score: -169.0,  Avg.Score: -163.81, eps-greedy:  0.01, Time: 00:02:29\n",
      "Episode: 28000, Timesteps:  172, Score: -172.0,  Avg.Score: -171.82, eps-greedy:  0.01, Time: 00:02:31\n",
      "Episode: 28400, Timesteps:  152, Score: -152.0,  Avg.Score: -165.72, eps-greedy:  0.01, Time: 00:02:33\n",
      "Episode: 28800, Timesteps:  164, Score: -164.0,  Avg.Score: -158.39, eps-greedy:  0.01, Time: 00:02:35\n",
      "Episode: 29200, Timesteps:  160, Score: -160.0,  Avg.Score: -166.11, eps-greedy:  0.01, Time: 00:02:37\n",
      "Episode: 29600, Timesteps:  135, Score: -135.0,  Avg.Score: -151.76, eps-greedy:  0.01, Time: 00:02:39\n",
      "Episode: 30000, Timesteps:  188, Score: -188.0,  Avg.Score: -153.98, eps-greedy:  0.01, Time: 00:02:41\n",
      "Episode: 30400, Timesteps:  153, Score: -153.0,  Avg.Score: -142.54, eps-greedy:  0.01, Time: 00:02:43\n",
      "Episode: 30800, Timesteps:  162, Score: -162.0,  Avg.Score: -149.24, eps-greedy:  0.01, Time: 00:02:45\n",
      "Episode: 31200, Timesteps:  106, Score: -106.0,  Avg.Score: -139.96, eps-greedy:  0.01, Time: 00:02:47\n",
      "Episode: 31600, Timesteps:  173, Score: -173.0,  Avg.Score: -141.84, eps-greedy:  0.01, Time: 00:02:48\n",
      "Episode: 32000, Timesteps:  167, Score: -167.0,  Avg.Score: -153.33, eps-greedy:  0.01, Time: 00:02:50\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 32400, Timesteps:  144, Score: -144.0,  Avg.Score: -150.22, eps-greedy:  0.01, Time: 00:02:52\n",
      "Episode: 32800, Timesteps:  158, Score: -158.0,  Avg.Score: -158.73, eps-greedy:  0.01, Time: 00:02:54\n",
      "Episode: 33200, Timesteps:  147, Score: -147.0,  Avg.Score: -147.05, eps-greedy:  0.01, Time: 00:02:56\n",
      "Episode: 33600, Timesteps:  162, Score: -162.0,  Avg.Score: -146.59, eps-greedy:  0.01, Time: 00:02:57\n",
      "Episode: 34000, Timesteps:  106, Score: -106.0,  Avg.Score: -142.92, eps-greedy:  0.01, Time: 00:02:59\n",
      "Episode: 34400, Timesteps:  160, Score: -160.0,  Avg.Score: -144.71, eps-greedy:  0.01, Time: 00:03:01\n",
      "Episode: 34800, Timesteps:  154, Score: -154.0,  Avg.Score: -149.81, eps-greedy:  0.01, Time: 00:03:03\n",
      "Episode: 35200, Timesteps:  163, Score: -163.0,  Avg.Score: -142.02, eps-greedy:  0.01, Time: 00:03:05\n",
      "Episode: 35600, Timesteps:  106, Score: -106.0,  Avg.Score: -143.02, eps-greedy:  0.01, Time: 00:03:07\n",
      "Episode: 36000, Timesteps:  155, Score: -155.0,  Avg.Score: -142.64, eps-greedy:  0.01, Time: 00:03:09\n",
      "Episode: 36400, Timesteps:  139, Score: -139.0,  Avg.Score: -133.35, eps-greedy:  0.01, Time: 00:03:10\n",
      "Episode: 36800, Timesteps:  158, Score: -158.0,  Avg.Score: -143.58, eps-greedy:  0.01, Time: 00:03:12\n",
      "Episode: 37200, Timesteps:  174, Score: -174.0,  Avg.Score: -143.70, eps-greedy:  0.01, Time: 00:03:14\n",
      "Episode: 37600, Timesteps:  141, Score: -141.0,  Avg.Score: -138.98, eps-greedy:  0.01, Time: 00:03:16\n",
      "Episode: 38000, Timesteps:  188, Score: -188.0,  Avg.Score: -151.97, eps-greedy:  0.01, Time: 00:03:18\n",
      "Episode: 38400, Timesteps:  192, Score: -192.0,  Avg.Score: -191.15, eps-greedy:  0.01, Time: 00:03:20\n",
      "Episode: 38800, Timesteps:  118, Score: -118.0,  Avg.Score: -180.75, eps-greedy:  0.01, Time: 00:03:23\n",
      "Episode: 39200, Timesteps:  116, Score: -116.0,  Avg.Score: -144.76, eps-greedy:  0.01, Time: 00:03:25\n",
      "Episode: 39600, Timesteps:  117, Score: -117.0,  Avg.Score: -141.12, eps-greedy:  0.01, Time: 00:03:26\n",
      "Episode: 40000, Timesteps:  162, Score: -162.0,  Avg.Score: -174.39, eps-greedy:  0.01, Time: 00:03:28\n",
      "Episode: 40400, Timesteps:  170, Score: -170.0,  Avg.Score: -174.22, eps-greedy:  0.01, Time: 00:03:30\n",
      "Episode: 40800, Timesteps:  158, Score: -158.0,  Avg.Score: -175.00, eps-greedy:  0.01, Time: 00:03:32\n",
      "Episode: 41200, Timesteps:  156, Score: -156.0,  Avg.Score: -166.95, eps-greedy:  0.01, Time: 00:03:35\n",
      "Episode: 41600, Timesteps:  170, Score: -170.0,  Avg.Score: -170.34, eps-greedy:  0.01, Time: 00:03:37\n",
      "Episode: 42000, Timesteps:  166, Score: -166.0,  Avg.Score: -157.18, eps-greedy:  0.01, Time: 00:03:39\n",
      "Episode: 42400, Timesteps:  165, Score: -165.0,  Avg.Score: -158.06, eps-greedy:  0.01, Time: 00:03:41\n",
      "Episode: 42800, Timesteps:  154, Score: -154.0,  Avg.Score: -162.26, eps-greedy:  0.01, Time: 00:03:43\n",
      "Episode: 43200, Timesteps:  183, Score: -183.0,  Avg.Score: -161.76, eps-greedy:  0.01, Time: 00:03:45\n",
      "Episode: 43600, Timesteps:  182, Score: -182.0,  Avg.Score: -167.59, eps-greedy:  0.01, Time: 00:03:47\n",
      "Episode: 44000, Timesteps:  150, Score: -150.0,  Avg.Score: -165.14, eps-greedy:  0.01, Time: 00:03:49\n",
      "Episode: 44400, Timesteps:  184, Score: -184.0,  Avg.Score: -162.88, eps-greedy:  0.01, Time: 00:03:51\n",
      "Episode: 44800, Timesteps:  160, Score: -160.0,  Avg.Score: -163.37, eps-greedy:  0.01, Time: 00:03:53\n",
      "Episode: 45200, Timesteps:  157, Score: -157.0,  Avg.Score: -166.24, eps-greedy:  0.01, Time: 00:03:55\n",
      "Episode: 45600, Timesteps:  162, Score: -162.0,  Avg.Score: -166.29, eps-greedy:  0.01, Time: 00:03:57\n",
      "Episode: 46000, Timesteps:  142, Score: -142.0,  Avg.Score: -140.41, eps-greedy:  0.01, Time: 00:03:59\n",
      "Episode: 46400, Timesteps:  153, Score: -153.0,  Avg.Score: -142.02, eps-greedy:  0.01, Time: 00:04:01\n",
      "Episode: 46800, Timesteps:  152, Score: -152.0,  Avg.Score: -137.93, eps-greedy:  0.01, Time: 00:04:02\n",
      "Episode: 47200, Timesteps:  111, Score: -111.0,  Avg.Score: -146.27, eps-greedy:  0.01, Time: 00:04:04\n",
      "Episode: 47600, Timesteps:  110, Score: -110.0,  Avg.Score: -144.04, eps-greedy:  0.01, Time: 00:04:06\n",
      "Episode: 48000, Timesteps:  111, Score: -111.0,  Avg.Score: -151.57, eps-greedy:  0.01, Time: 00:04:08\n",
      "Episode: 48400, Timesteps:  163, Score: -163.0,  Avg.Score: -151.84, eps-greedy:  0.01, Time: 00:04:10\n",
      "Episode: 48800, Timesteps:  150, Score: -150.0,  Avg.Score: -150.62, eps-greedy:  0.01, Time: 00:04:12\n",
      "Episode: 49200, Timesteps:  156, Score: -156.0,  Avg.Score: -167.55, eps-greedy:  0.01, Time: 00:04:14\n",
      "Episode: 49600, Timesteps:  180, Score: -180.0,  Avg.Score: -171.95, eps-greedy:  0.01, Time: 00:04:16\n",
      "Episode: 50000, Timesteps:  155, Score: -155.0,  Avg.Score: -165.78, eps-greedy:  0.01, Time: 00:04:18\n",
      "Episode: 50400, Timesteps:  161, Score: -161.0,  Avg.Score: -162.20, eps-greedy:  0.01, Time: 00:04:20\n",
      "Episode: 50800, Timesteps:  118, Score: -118.0,  Avg.Score: -158.35, eps-greedy:  0.01, Time: 00:04:22\n",
      "Episode: 51200, Timesteps:  169, Score: -169.0,  Avg.Score: -160.74, eps-greedy:  0.01, Time: 00:04:24\n",
      "Episode: 51600, Timesteps:  144, Score: -144.0,  Avg.Score: -160.56, eps-greedy:  0.01, Time: 00:04:26\n",
      "Episode: 52000, Timesteps:  173, Score: -173.0,  Avg.Score: -166.68, eps-greedy:  0.01, Time: 00:04:28\n",
      "Episode: 52400, Timesteps:  155, Score: -155.0,  Avg.Score: -167.24, eps-greedy:  0.01, Time: 00:04:30\n",
      "Episode: 52800, Timesteps:  176, Score: -176.0,  Avg.Score: -156.45, eps-greedy:  0.01, Time: 00:04:32\n",
      "Episode: 53200, Timesteps:  151, Score: -151.0,  Avg.Score: -157.77, eps-greedy:  0.01, Time: 00:04:34\n",
      "Episode: 53600, Timesteps:  173, Score: -173.0,  Avg.Score: -158.99, eps-greedy:  0.01, Time: 00:04:36\n",
      "Episode: 54000, Timesteps:  152, Score: -152.0,  Avg.Score: -148.19, eps-greedy:  0.01, Time: 00:04:38\n",
      "Episode: 54400, Timesteps:  164, Score: -164.0,  Avg.Score: -162.69, eps-greedy:  0.01, Time: 00:04:40\n",
      "Episode: 54800, Timesteps:  139, Score: -139.0,  Avg.Score: -153.94, eps-greedy:  0.01, Time: 00:04:42\n",
      "Episode: 55200, Timesteps:  200, Score: -200.0,  Avg.Score: -130.75, eps-greedy:  0.01, Time: 00:04:44\n",
      "Episode: 55600, Timesteps:  124, Score: -124.0,  Avg.Score: -150.64, eps-greedy:  0.01, Time: 00:04:45\n",
      "Episode: 56000, Timesteps:  200, Score: -200.0,  Avg.Score: -163.47, eps-greedy:  0.01, Time: 00:04:47\n",
      "Episode: 56400, Timesteps:  159, Score: -159.0,  Avg.Score: -171.61, eps-greedy:  0.01, Time: 00:04:49\n",
      "Episode: 56800, Timesteps:  197, Score: -197.0,  Avg.Score: -165.19, eps-greedy:  0.01, Time: 00:04:51\n",
      "Episode: 57200, Timesteps:  150, Score: -150.0,  Avg.Score: -161.43, eps-greedy:  0.01, Time: 00:04:53\n",
      "Episode: 57600, Timesteps:  173, Score: -173.0,  Avg.Score: -167.05, eps-greedy:  0.01, Time: 00:04:55\n",
      "Episode: 58000, Timesteps:  154, Score: -154.0,  Avg.Score: -150.47, eps-greedy:  0.01, Time: 00:04:57\n",
      "Episode: 58400, Timesteps:  121, Score: -121.0,  Avg.Score: -150.16, eps-greedy:  0.01, Time: 00:04:59\n",
      "Episode: 58800, Timesteps:  119, Score: -119.0,  Avg.Score: -156.36, eps-greedy:  0.01, Time: 00:05:01\n",
      "Episode: 59200, Timesteps:  148, Score: -148.0,  Avg.Score: -153.18, eps-greedy:  0.01, Time: 00:05:03\n",
      "Episode: 59600, Timesteps:  164, Score: -164.0,  Avg.Score: -155.86, eps-greedy:  0.01, Time: 00:05:05\n",
      "Episode: 60000, Timesteps:  121, Score: -121.0,  Avg.Score: -157.73, eps-greedy:  0.01, Time: 00:05:07\n",
      "Episode: 60400, Timesteps:  188, Score: -188.0,  Avg.Score: -186.15, eps-greedy:  0.01, Time: 00:05:09\n",
      "Episode: 60800, Timesteps:  196, Score: -196.0,  Avg.Score: -187.33, eps-greedy:  0.01, Time: 00:05:12\n",
      "Episode: 61200, Timesteps:  200, Score: -200.0,  Avg.Score: -187.27, eps-greedy:  0.01, Time: 00:05:15\n",
      "Episode: 61600, Timesteps:  117, Score: -117.0,  Avg.Score: -180.97, eps-greedy:  0.01, Time: 00:05:17\n",
      "Episode: 62000, Timesteps:  153, Score: -153.0,  Avg.Score: -147.66, eps-greedy:  0.01, Time: 00:05:19\n",
      "Episode: 62400, Timesteps:  108, Score: -108.0,  Avg.Score: -150.05, eps-greedy:  0.01, Time: 00:05:21\n",
      "Episode: 62800, Timesteps:  108, Score: -108.0,  Avg.Score: -150.59, eps-greedy:  0.01, Time: 00:05:23\n",
      "Episode: 63200, Timesteps:  153, Score: -153.0,  Avg.Score: -148.87, eps-greedy:  0.01, Time: 00:05:25\n",
      "Episode: 63600, Timesteps:  146, Score: -146.0,  Avg.Score: -144.14, eps-greedy:  0.01, Time: 00:05:27\n",
      "Episode: 64000, Timesteps:  168, Score: -168.0,  Avg.Score: -140.20, eps-greedy:  0.01, Time: 00:05:29\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 64400, Timesteps:  161, Score: -161.0,  Avg.Score: -140.05, eps-greedy:  0.01, Time: 00:05:31\n",
      "Episode: 64800, Timesteps:  120, Score: -120.0,  Avg.Score: -163.51, eps-greedy:  0.01, Time: 00:05:33\n",
      "Episode: 65200, Timesteps:  149, Score: -149.0,  Avg.Score: -147.51, eps-greedy:  0.01, Time: 00:05:35\n",
      "Episode: 65600, Timesteps:  144, Score: -144.0,  Avg.Score: -146.50, eps-greedy:  0.01, Time: 00:05:37\n",
      "Episode: 66000, Timesteps:  183, Score: -183.0,  Avg.Score: -156.37, eps-greedy:  0.01, Time: 00:05:39\n",
      "Episode: 66400, Timesteps:  144, Score: -144.0,  Avg.Score: -140.15, eps-greedy:  0.01, Time: 00:05:41\n",
      "Episode: 66800, Timesteps:  161, Score: -161.0,  Avg.Score: -142.05, eps-greedy:  0.01, Time: 00:05:43\n",
      "Episode: 67200, Timesteps:  149, Score: -149.0,  Avg.Score: -138.49, eps-greedy:  0.01, Time: 00:05:45\n",
      "Episode: 67600, Timesteps:  108, Score: -108.0,  Avg.Score: -142.14, eps-greedy:  0.01, Time: 00:05:46\n",
      "Episode: 68000, Timesteps:  163, Score: -163.0,  Avg.Score: -141.13, eps-greedy:  0.01, Time: 00:05:48\n",
      "Episode: 68400, Timesteps:  154, Score: -154.0,  Avg.Score: -144.02, eps-greedy:  0.01, Time: 00:05:50\n",
      "Episode: 68800, Timesteps:  143, Score: -143.0,  Avg.Score: -145.83, eps-greedy:  0.01, Time: 00:05:52\n",
      "Episode: 69200, Timesteps:  146, Score: -146.0,  Avg.Score: -140.07, eps-greedy:  0.01, Time: 00:05:53\n",
      "Episode: 69600, Timesteps:  149, Score: -149.0,  Avg.Score: -144.24, eps-greedy:  0.01, Time: 00:05:55\n",
      "Episode: 70000, Timesteps:  107, Score: -107.0,  Avg.Score: -153.75, eps-greedy:  0.01, Time: 00:05:57\n",
      "Episode: 70400, Timesteps:  157, Score: -157.0,  Avg.Score: -139.45, eps-greedy:  0.01, Time: 00:05:59\n",
      "Episode: 70800, Timesteps:  142, Score: -142.0,  Avg.Score: -142.22, eps-greedy:  0.01, Time: 00:06:01\n",
      "Episode: 71200, Timesteps:  164, Score: -164.0,  Avg.Score: -139.73, eps-greedy:  0.01, Time: 00:06:03\n",
      "Episode: 71600, Timesteps:  161, Score: -161.0,  Avg.Score: -142.87, eps-greedy:  0.01, Time: 00:06:05\n",
      "Episode: 72000, Timesteps:  165, Score: -165.0,  Avg.Score: -142.29, eps-greedy:  0.01, Time: 00:06:06\n",
      "Episode: 72400, Timesteps:  166, Score: -166.0,  Avg.Score: -140.09, eps-greedy:  0.01, Time: 00:06:08\n",
      "Episode: 72800, Timesteps:  156, Score: -156.0,  Avg.Score: -141.16, eps-greedy:  0.01, Time: 00:06:10\n",
      "Episode: 73200, Timesteps:  108, Score: -108.0,  Avg.Score: -143.96, eps-greedy:  0.01, Time: 00:06:12\n",
      "Episode: 73600, Timesteps:  158, Score: -158.0,  Avg.Score: -142.00, eps-greedy:  0.01, Time: 00:06:13\n",
      "Episode: 74000, Timesteps:  143, Score: -143.0,  Avg.Score: -140.04, eps-greedy:  0.01, Time: 00:06:15\n",
      "Episode: 74400, Timesteps:  143, Score: -143.0,  Avg.Score: -139.54, eps-greedy:  0.01, Time: 00:06:17\n",
      "Episode: 74800, Timesteps:  107, Score: -107.0,  Avg.Score: -142.82, eps-greedy:  0.01, Time: 00:06:19\n",
      "Episode: 75200, Timesteps:  152, Score: -152.0,  Avg.Score: -143.79, eps-greedy:  0.01, Time: 00:06:20\n",
      "Episode: 75600, Timesteps:  108, Score: -108.0,  Avg.Score: -146.71, eps-greedy:  0.01, Time: 00:06:22\n",
      "Episode: 76000, Timesteps:  165, Score: -165.0,  Avg.Score: -144.23, eps-greedy:  0.01, Time: 00:06:24\n",
      "Episode: 76400, Timesteps:  157, Score: -157.0,  Avg.Score: -144.51, eps-greedy:  0.01, Time: 00:06:26\n",
      "Episode: 76800, Timesteps:  158, Score: -158.0,  Avg.Score: -140.57, eps-greedy:  0.01, Time: 00:06:27\n",
      "Episode: 77200, Timesteps:  160, Score: -160.0,  Avg.Score: -143.87, eps-greedy:  0.01, Time: 00:06:29\n",
      "Episode: 77600, Timesteps:  154, Score: -154.0,  Avg.Score: -141.72, eps-greedy:  0.01, Time: 00:06:31\n",
      "Episode: 78000, Timesteps:  159, Score: -159.0,  Avg.Score: -141.35, eps-greedy:  0.01, Time: 00:06:33\n",
      "Episode: 78400, Timesteps:  144, Score: -144.0,  Avg.Score: -141.90, eps-greedy:  0.01, Time: 00:06:34\n",
      "Episode: 78800, Timesteps:  162, Score: -162.0,  Avg.Score: -142.76, eps-greedy:  0.01, Time: 00:06:36\n",
      "Episode: 79200, Timesteps:  152, Score: -152.0,  Avg.Score: -143.06, eps-greedy:  0.01, Time: 00:06:38\n",
      "Episode: 79600, Timesteps:  154, Score: -154.0,  Avg.Score: -139.96, eps-greedy:  0.01, Time: 00:06:39\n",
      "Episode: 80000, Timesteps:  153, Score: -153.0,  Avg.Score: -140.46, eps-greedy:  0.01, Time: 00:06:41\n",
      "Episode: 80400, Timesteps:  107, Score: -107.0,  Avg.Score: -142.09, eps-greedy:  0.01, Time: 00:06:43\n",
      "Episode: 80800, Timesteps:  142, Score: -142.0,  Avg.Score: -153.57, eps-greedy:  0.01, Time: 00:06:45\n",
      "Episode: 81200, Timesteps:  143, Score: -143.0,  Avg.Score: -138.22, eps-greedy:  0.01, Time: 00:06:46\n",
      "Episode: 81600, Timesteps:  153, Score: -153.0,  Avg.Score: -140.28, eps-greedy:  0.01, Time: 00:06:48\n",
      "Episode: 82000, Timesteps:  138, Score: -138.0,  Avg.Score: -139.03, eps-greedy:  0.01, Time: 00:06:50\n",
      "Episode: 82400, Timesteps:  148, Score: -148.0,  Avg.Score: -133.77, eps-greedy:  0.01, Time: 00:06:52\n",
      "Episode: 82800, Timesteps:  145, Score: -145.0,  Avg.Score: -132.57, eps-greedy:  0.01, Time: 00:06:53\n",
      "Episode: 83200, Timesteps:  137, Score: -137.0,  Avg.Score: -138.10, eps-greedy:  0.01, Time: 00:06:55\n",
      "Episode: 83600, Timesteps:  188, Score: -188.0,  Avg.Score: -129.09, eps-greedy:  0.01, Time: 00:06:57\n",
      "Episode: 84000, Timesteps:  200, Score: -200.0,  Avg.Score: -147.89, eps-greedy:  0.01, Time: 00:06:58\n",
      "Episode: 84400, Timesteps:  110, Score: -110.0,  Avg.Score: -142.72, eps-greedy:  0.01, Time: 00:07:00\n",
      "Episode: 84800, Timesteps:  109, Score: -109.0,  Avg.Score: -131.87, eps-greedy:  0.01, Time: 00:07:02\n",
      "Episode: 85200, Timesteps:  137, Score: -137.0,  Avg.Score: -140.50, eps-greedy:  0.01, Time: 00:07:04\n",
      "Episode: 85600, Timesteps:  157, Score: -157.0,  Avg.Score: -135.94, eps-greedy:  0.01, Time: 00:07:05\n",
      "Episode: 86000, Timesteps:  145, Score: -145.0,  Avg.Score: -137.23, eps-greedy:  0.01, Time: 00:07:07\n",
      "Episode: 86400, Timesteps:  154, Score: -154.0,  Avg.Score: -136.35, eps-greedy:  0.01, Time: 00:07:09\n",
      "Episode: 86800, Timesteps:  151, Score: -151.0,  Avg.Score: -151.13, eps-greedy:  0.01, Time: 00:07:11\n",
      "Episode: 87200, Timesteps:  138, Score: -138.0,  Avg.Score: -155.72, eps-greedy:  0.01, Time: 00:07:13\n",
      "Episode: 87600, Timesteps:  106, Score: -106.0,  Avg.Score: -123.99, eps-greedy:  0.01, Time: 00:07:15\n",
      "Episode: 88000, Timesteps:  109, Score: -109.0,  Avg.Score: -121.70, eps-greedy:  0.01, Time: 00:07:16\n",
      "Episode: 88400, Timesteps:  107, Score: -107.0,  Avg.Score: -121.89, eps-greedy:  0.01, Time: 00:07:18\n",
      "Episode: 88800, Timesteps:  121, Score: -121.0,  Avg.Score: -123.67, eps-greedy:  0.01, Time: 00:07:19\n",
      "Episode: 89200, Timesteps:  107, Score: -107.0,  Avg.Score: -124.34, eps-greedy:  0.01, Time: 00:07:21\n",
      "Episode: 89600, Timesteps:  141, Score: -141.0,  Avg.Score: -131.31, eps-greedy:  0.01, Time: 00:07:23\n",
      "Episode: 90000, Timesteps:  106, Score: -106.0,  Avg.Score: -133.21, eps-greedy:  0.01, Time: 00:07:25\n",
      "Episode: 90400, Timesteps:  134, Score: -134.0,  Avg.Score: -136.64, eps-greedy:  0.01, Time: 00:07:26\n",
      "Episode: 90800, Timesteps:  163, Score: -163.0,  Avg.Score: -136.07, eps-greedy:  0.01, Time: 00:07:28\n",
      "Episode: 91200, Timesteps:  106, Score: -106.0,  Avg.Score: -157.61, eps-greedy:  0.01, Time: 00:07:30\n",
      "Episode: 91600, Timesteps:  134, Score: -134.0,  Avg.Score: -135.63, eps-greedy:  0.01, Time: 00:07:32\n",
      "Episode: 92000, Timesteps:  106, Score: -106.0,  Avg.Score: -133.89, eps-greedy:  0.01, Time: 00:07:33\n",
      "Episode: 92400, Timesteps:  106, Score: -106.0,  Avg.Score: -138.37, eps-greedy:  0.01, Time: 00:07:35\n",
      "Episode: 92800, Timesteps:  137, Score: -137.0,  Avg.Score: -135.87, eps-greedy:  0.01, Time: 00:07:37\n",
      "Episode: 93200, Timesteps:  185, Score: -185.0,  Avg.Score: -151.69, eps-greedy:  0.01, Time: 00:07:39\n",
      "Episode: 93600, Timesteps:  120, Score: -120.0,  Avg.Score: -135.80, eps-greedy:  0.01, Time: 00:07:40\n",
      "Episode: 94000, Timesteps:  106, Score: -106.0,  Avg.Score: -121.17, eps-greedy:  0.01, Time: 00:07:42\n",
      "Episode: 94400, Timesteps:  107, Score: -107.0,  Avg.Score: -126.46, eps-greedy:  0.01, Time: 00:07:43\n",
      "Episode: 94800, Timesteps:  110, Score: -110.0,  Avg.Score: -126.88, eps-greedy:  0.01, Time: 00:07:45\n",
      "Episode: 95200, Timesteps:  112, Score: -112.0,  Avg.Score: -133.36, eps-greedy:  0.01, Time: 00:07:47\n",
      "Episode: 95600, Timesteps:  109, Score: -109.0,  Avg.Score: -134.74, eps-greedy:  0.01, Time: 00:07:49\n",
      "Episode: 96000, Timesteps:  184, Score: -184.0,  Avg.Score: -134.35, eps-greedy:  0.01, Time: 00:07:50\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 96400, Timesteps:  161, Score: -161.0,  Avg.Score: -160.46, eps-greedy:  0.01, Time: 00:07:52\n",
      "Episode: 96800, Timesteps:  140, Score: -140.0,  Avg.Score: -144.68, eps-greedy:  0.01, Time: 00:07:54\n",
      "Episode: 97200, Timesteps:  154, Score: -154.0,  Avg.Score: -145.18, eps-greedy:  0.01, Time: 00:07:56\n",
      "Episode: 97600, Timesteps:  172, Score: -172.0,  Avg.Score: -142.18, eps-greedy:  0.01, Time: 00:07:57\n",
      "Episode: 98000, Timesteps:  146, Score: -146.0,  Avg.Score: -152.11, eps-greedy:  0.01, Time: 00:07:59\n",
      "Episode: 98400, Timesteps:  123, Score: -123.0,  Avg.Score: -162.27, eps-greedy:  0.01, Time: 00:08:01\n",
      "Episode: 98800, Timesteps:  200, Score: -200.0,  Avg.Score: -155.01, eps-greedy:  0.01, Time: 00:08:03\n",
      "Episode: 99200, Timesteps:  200, Score: -200.0,  Avg.Score: -197.10, eps-greedy:  0.01, Time: 00:08:05\n",
      "Episode: 99600, Timesteps:  189, Score: -189.0,  Avg.Score: -193.92, eps-greedy:  0.01, Time: 00:08:08\n",
      "Episode: 100000, Timesteps:  168, Score: -168.0,  Avg.Score: -151.44, eps-greedy:  0.01, Time: 00:08:10\n",
      "Episode: 100400, Timesteps:  146, Score: -146.0,  Avg.Score: -153.91, eps-greedy:  0.01, Time: 00:08:11\n",
      "Episode: 100800, Timesteps:  165, Score: -165.0,  Avg.Score: -160.64, eps-greedy:  0.01, Time: 00:08:13\n",
      "Episode: 101200, Timesteps:  151, Score: -151.0,  Avg.Score: -152.16, eps-greedy:  0.01, Time: 00:08:15\n",
      "Episode: 101600, Timesteps:  151, Score: -151.0,  Avg.Score: -144.24, eps-greedy:  0.01, Time: 00:08:17\n",
      "Episode: 102000, Timesteps:  149, Score: -149.0,  Avg.Score: -143.80, eps-greedy:  0.01, Time: 00:08:19\n",
      "Episode: 102400, Timesteps:  150, Score: -150.0,  Avg.Score: -152.76, eps-greedy:  0.01, Time: 00:08:20\n",
      "Episode: 102800, Timesteps:  149, Score: -149.0,  Avg.Score: -150.26, eps-greedy:  0.01, Time: 00:08:22\n",
      "Episode: 103200, Timesteps:  152, Score: -152.0,  Avg.Score: -150.14, eps-greedy:  0.01, Time: 00:08:24\n",
      "Episode: 103600, Timesteps:  149, Score: -149.0,  Avg.Score: -159.88, eps-greedy:  0.01, Time: 00:08:26\n",
      "Episode: 104000, Timesteps:  153, Score: -153.0,  Avg.Score: -158.82, eps-greedy:  0.01, Time: 00:08:28\n",
      "Episode: 104400, Timesteps:  171, Score: -171.0,  Avg.Score: -146.12, eps-greedy:  0.01, Time: 00:08:29\n",
      "Episode: 104800, Timesteps:  150, Score: -150.0,  Avg.Score: -148.97, eps-greedy:  0.01, Time: 00:08:31\n",
      "Episode: 105200, Timesteps:  177, Score: -177.0,  Avg.Score: -150.08, eps-greedy:  0.01, Time: 00:08:33\n",
      "Episode: 105600, Timesteps:  154, Score: -154.0,  Avg.Score: -148.10, eps-greedy:  0.01, Time: 00:08:35\n",
      "Episode: 106000, Timesteps:  154, Score: -154.0,  Avg.Score: -142.61, eps-greedy:  0.01, Time: 00:08:37\n",
      "Episode: 106400, Timesteps:  146, Score: -146.0,  Avg.Score: -147.58, eps-greedy:  0.01, Time: 00:08:38\n",
      "Episode: 106800, Timesteps:  144, Score: -144.0,  Avg.Score: -142.49, eps-greedy:  0.01, Time: 00:08:40\n",
      "Episode: 107200, Timesteps:  146, Score: -146.0,  Avg.Score: -143.26, eps-greedy:  0.01, Time: 00:08:42\n",
      "Episode: 107600, Timesteps:  107, Score: -107.0,  Avg.Score: -142.50, eps-greedy:  0.01, Time: 00:08:43\n",
      "Episode: 108000, Timesteps:  107, Score: -107.0,  Avg.Score: -144.87, eps-greedy:  0.01, Time: 00:08:45\n",
      "Episode: 108400, Timesteps:  147, Score: -147.0,  Avg.Score: -144.75, eps-greedy:  0.01, Time: 00:08:47\n",
      "Episode: 108800, Timesteps:  144, Score: -144.0,  Avg.Score: -139.65, eps-greedy:  0.01, Time: 00:08:49\n",
      "Episode: 109200, Timesteps:  149, Score: -149.0,  Avg.Score: -145.52, eps-greedy:  0.01, Time: 00:08:50\n",
      "Episode: 109600, Timesteps:  165, Score: -165.0,  Avg.Score: -145.02, eps-greedy:  0.01, Time: 00:08:52\n",
      "Episode: 110000, Timesteps:  107, Score: -107.0,  Avg.Score: -145.50, eps-greedy:  0.01, Time: 00:08:54\n",
      "Episode: 110400, Timesteps:  145, Score: -145.0,  Avg.Score: -145.51, eps-greedy:  0.01, Time: 00:08:56\n",
      "Episode: 110800, Timesteps:  160, Score: -160.0,  Avg.Score: -146.82, eps-greedy:  0.01, Time: 00:08:58\n",
      "Episode: 111200, Timesteps:  106, Score: -106.0,  Avg.Score: -142.65, eps-greedy:  0.01, Time: 00:09:00\n",
      "Episode: 111600, Timesteps:  107, Score: -107.0,  Avg.Score: -143.95, eps-greedy:  0.01, Time: 00:09:02\n",
      "Episode: 112000, Timesteps:  169, Score: -169.0,  Avg.Score: -146.90, eps-greedy:  0.01, Time: 00:09:03\n",
      "Episode: 112400, Timesteps:  160, Score: -160.0,  Avg.Score: -143.88, eps-greedy:  0.01, Time: 00:09:05\n",
      "Episode: 112800, Timesteps:  150, Score: -150.0,  Avg.Score: -143.24, eps-greedy:  0.01, Time: 00:09:07\n",
      "Episode: 113200, Timesteps:  109, Score: -109.0,  Avg.Score: -140.10, eps-greedy:  0.01, Time: 00:09:09\n",
      "Episode: 113600, Timesteps:  159, Score: -159.0,  Avg.Score: -142.38, eps-greedy:  0.01, Time: 00:09:11\n",
      "Episode: 114000, Timesteps:  162, Score: -162.0,  Avg.Score: -143.17, eps-greedy:  0.01, Time: 00:09:12\n",
      "Episode: 114400, Timesteps:  145, Score: -145.0,  Avg.Score: -141.61, eps-greedy:  0.01, Time: 00:09:14\n",
      "Episode: 114800, Timesteps:  160, Score: -160.0,  Avg.Score: -141.54, eps-greedy:  0.01, Time: 00:09:16\n",
      "Episode: 115200, Timesteps:  106, Score: -106.0,  Avg.Score: -141.74, eps-greedy:  0.01, Time: 00:09:18\n",
      "Episode: 115600, Timesteps:  140, Score: -140.0,  Avg.Score: -155.96, eps-greedy:  0.01, Time: 00:09:19\n",
      "Episode: 116000, Timesteps:  164, Score: -164.0,  Avg.Score: -149.07, eps-greedy:  0.01, Time: 00:09:21\n",
      "Episode: 116400, Timesteps:  152, Score: -152.0,  Avg.Score: -149.54, eps-greedy:  0.01, Time: 00:09:23\n",
      "Episode: 116800, Timesteps:  145, Score: -145.0,  Avg.Score: -145.54, eps-greedy:  0.01, Time: 00:09:25\n",
      "Episode: 117200, Timesteps:  171, Score: -171.0,  Avg.Score: -140.71, eps-greedy:  0.01, Time: 00:09:27\n",
      "Episode: 117600, Timesteps:  154, Score: -154.0,  Avg.Score: -142.53, eps-greedy:  0.01, Time: 00:09:28\n",
      "Episode: 118000, Timesteps:  156, Score: -156.0,  Avg.Score: -143.47, eps-greedy:  0.01, Time: 00:09:30\n",
      "Episode: 118400, Timesteps:  147, Score: -147.0,  Avg.Score: -163.14, eps-greedy:  0.01, Time: 00:09:32\n",
      "Episode: 118800, Timesteps:  146, Score: -146.0,  Avg.Score: -152.85, eps-greedy:  0.01, Time: 00:09:34\n",
      "Episode: 119200, Timesteps:  146, Score: -146.0,  Avg.Score: -145.58, eps-greedy:  0.01, Time: 00:09:36\n",
      "Episode: 119600, Timesteps:  106, Score: -106.0,  Avg.Score: -143.06, eps-greedy:  0.01, Time: 00:09:38\n",
      "Episode: 120000, Timesteps:  158, Score: -158.0,  Avg.Score: -148.18, eps-greedy:  0.01, Time: 00:09:39\n",
      "Episode: 120400, Timesteps:  106, Score: -106.0,  Avg.Score: -139.62, eps-greedy:  0.01, Time: 00:09:41\n",
      "Episode: 120800, Timesteps:  145, Score: -145.0,  Avg.Score: -146.28, eps-greedy:  0.01, Time: 00:09:43\n",
      "Episode: 121200, Timesteps:  116, Score: -116.0,  Avg.Score: -148.45, eps-greedy:  0.01, Time: 00:09:45\n",
      "Episode: 121600, Timesteps:  157, Score: -157.0,  Avg.Score: -153.66, eps-greedy:  0.01, Time: 00:09:47\n",
      "Episode: 122000, Timesteps:  159, Score: -159.0,  Avg.Score: -151.45, eps-greedy:  0.01, Time: 00:09:49\n",
      "Episode: 122400, Timesteps:  164, Score: -164.0,  Avg.Score: -145.85, eps-greedy:  0.01, Time: 00:09:51\n",
      "Episode: 122800, Timesteps:  105, Score: -105.0,  Avg.Score: -141.33, eps-greedy:  0.01, Time: 00:09:52\n",
      "Episode: 123200, Timesteps:  159, Score: -159.0,  Avg.Score: -142.73, eps-greedy:  0.01, Time: 00:09:54\n",
      "Episode: 123600, Timesteps:  143, Score: -143.0,  Avg.Score: -142.48, eps-greedy:  0.01, Time: 00:09:56\n",
      "Episode: 124000, Timesteps:  106, Score: -106.0,  Avg.Score: -141.78, eps-greedy:  0.01, Time: 00:09:58\n",
      "Episode: 124400, Timesteps:  150, Score: -150.0,  Avg.Score: -142.70, eps-greedy:  0.01, Time: 00:10:00\n",
      "Episode: 124800, Timesteps:  107, Score: -107.0,  Avg.Score: -139.37, eps-greedy:  0.01, Time: 00:10:01\n",
      "Episode: 125200, Timesteps:  162, Score: -162.0,  Avg.Score: -139.53, eps-greedy:  0.01, Time: 00:10:03\n",
      "Episode: 125600, Timesteps:  144, Score: -144.0,  Avg.Score: -138.87, eps-greedy:  0.01, Time: 00:10:05\n",
      "Episode: 126000, Timesteps:  107, Score: -107.0,  Avg.Score: -144.29, eps-greedy:  0.01, Time: 00:10:07\n",
      "Episode: 126400, Timesteps:  158, Score: -158.0,  Avg.Score: -143.51, eps-greedy:  0.01, Time: 00:10:08\n",
      "Episode: 126800, Timesteps:  159, Score: -159.0,  Avg.Score: -142.41, eps-greedy:  0.01, Time: 00:10:10\n",
      "Episode: 127200, Timesteps:  153, Score: -153.0,  Avg.Score: -139.77, eps-greedy:  0.01, Time: 00:10:12\n",
      "Episode: 127600, Timesteps:  141, Score: -141.0,  Avg.Score: -141.96, eps-greedy:  0.01, Time: 00:10:14\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 128000, Timesteps:  142, Score: -142.0,  Avg.Score: -140.86, eps-greedy:  0.01, Time: 00:10:15\n",
      "Episode: 128400, Timesteps:  108, Score: -108.0,  Avg.Score: -136.29, eps-greedy:  0.01, Time: 00:10:17\n",
      "Episode: 128800, Timesteps:  140, Score: -140.0,  Avg.Score: -141.28, eps-greedy:  0.01, Time: 00:10:19\n",
      "Episode: 129200, Timesteps:  161, Score: -161.0,  Avg.Score: -143.40, eps-greedy:  0.01, Time: 00:10:21\n",
      "Episode: 129600, Timesteps:  141, Score: -141.0,  Avg.Score: -139.89, eps-greedy:  0.01, Time: 00:10:23\n",
      "Episode: 130000, Timesteps:  158, Score: -158.0,  Avg.Score: -139.37, eps-greedy:  0.01, Time: 00:10:24\n",
      "Episode: 130400, Timesteps:  162, Score: -162.0,  Avg.Score: -142.36, eps-greedy:  0.01, Time: 00:10:26\n",
      "Episode: 130800, Timesteps:  200, Score: -200.0,  Avg.Score: -155.25, eps-greedy:  0.01, Time: 00:10:28\n",
      "Episode: 131200, Timesteps:  134, Score: -134.0,  Avg.Score: -136.75, eps-greedy:  0.01, Time: 00:10:30\n",
      "Episode: 131600, Timesteps:  166, Score: -166.0,  Avg.Score: -143.39, eps-greedy:  0.01, Time: 00:10:32\n",
      "Episode: 132000, Timesteps:  161, Score: -161.0,  Avg.Score: -136.87, eps-greedy:  0.01, Time: 00:10:35\n",
      "Episode: 132400, Timesteps:  157, Score: -157.0,  Avg.Score: -140.48, eps-greedy:  0.01, Time: 00:10:37\n",
      "Episode: 132800, Timesteps:  150, Score: -150.0,  Avg.Score: -142.43, eps-greedy:  0.01, Time: 00:10:39\n",
      "Episode: 133200, Timesteps:  141, Score: -141.0,  Avg.Score: -142.11, eps-greedy:  0.01, Time: 00:10:40\n",
      "Episode: 133600, Timesteps:  105, Score: -105.0,  Avg.Score: -141.89, eps-greedy:  0.01, Time: 00:10:42\n",
      "Episode: 134000, Timesteps:  106, Score: -106.0,  Avg.Score: -143.16, eps-greedy:  0.01, Time: 00:10:44\n",
      "Episode: 134400, Timesteps:  141, Score: -141.0,  Avg.Score: -140.40, eps-greedy:  0.01, Time: 00:10:46\n",
      "Episode: 134800, Timesteps:  144, Score: -144.0,  Avg.Score: -142.84, eps-greedy:  0.01, Time: 00:10:48\n",
      "Episode: 135200, Timesteps:  145, Score: -145.0,  Avg.Score: -143.88, eps-greedy:  0.01, Time: 00:10:49\n",
      "Episode: 135600, Timesteps:  106, Score: -106.0,  Avg.Score: -142.37, eps-greedy:  0.01, Time: 00:10:51\n",
      "Episode: 136000, Timesteps:  168, Score: -168.0,  Avg.Score: -147.59, eps-greedy:  0.01, Time: 00:10:53\n",
      "Episode: 136400, Timesteps:  152, Score: -152.0,  Avg.Score: -137.86, eps-greedy:  0.01, Time: 00:10:55\n",
      "Episode: 136800, Timesteps:  156, Score: -156.0,  Avg.Score: -138.14, eps-greedy:  0.01, Time: 00:10:57\n",
      "Episode: 137200, Timesteps:  135, Score: -135.0,  Avg.Score: -135.87, eps-greedy:  0.01, Time: 00:10:58\n",
      "Episode: 137600, Timesteps:  187, Score: -187.0,  Avg.Score: -177.44, eps-greedy:  0.01, Time: 00:11:00\n",
      "Episode: 138000, Timesteps:  184, Score: -184.0,  Avg.Score: -178.93, eps-greedy:  0.01, Time: 00:11:03\n",
      "Episode: 138400, Timesteps:  192, Score: -192.0,  Avg.Score: -180.60, eps-greedy:  0.01, Time: 00:11:05\n",
      "Episode: 138800, Timesteps:  143, Score: -143.0,  Avg.Score: -166.50, eps-greedy:  0.01, Time: 00:11:07\n",
      "Episode: 139200, Timesteps:  150, Score: -150.0,  Avg.Score: -158.87, eps-greedy:  0.01, Time: 00:11:09\n",
      "Episode: 139600, Timesteps:  200, Score: -200.0,  Avg.Score: -174.50, eps-greedy:  0.01, Time: 00:11:11\n",
      "Episode: 140000, Timesteps:  147, Score: -147.0,  Avg.Score: -150.50, eps-greedy:  0.01, Time: 00:11:13\n",
      "Episode: 140400, Timesteps:  180, Score: -180.0,  Avg.Score: -175.09, eps-greedy:  0.01, Time: 00:11:15\n",
      "Episode: 140800, Timesteps:  120, Score: -120.0,  Avg.Score: -148.44, eps-greedy:  0.01, Time: 00:11:17\n",
      "Episode: 141200, Timesteps:  119, Score: -119.0,  Avg.Score: -144.07, eps-greedy:  0.01, Time: 00:11:19\n",
      "Episode: 141600, Timesteps:  167, Score: -167.0,  Avg.Score: -147.84, eps-greedy:  0.01, Time: 00:11:21\n",
      "Episode: 142000, Timesteps:  169, Score: -169.0,  Avg.Score: -155.06, eps-greedy:  0.01, Time: 00:11:23\n",
      "Episode: 142400, Timesteps:  149, Score: -149.0,  Avg.Score: -143.47, eps-greedy:  0.01, Time: 00:11:25\n",
      "Episode: 142800, Timesteps:  146, Score: -146.0,  Avg.Score: -158.91, eps-greedy:  0.01, Time: 00:11:27\n",
      "Episode: 143200, Timesteps:  152, Score: -152.0,  Avg.Score: -155.29, eps-greedy:  0.01, Time: 00:11:29\n",
      "Episode: 143600, Timesteps:  150, Score: -150.0,  Avg.Score: -167.10, eps-greedy:  0.01, Time: 00:11:31\n",
      "Episode: 144000, Timesteps:  111, Score: -111.0,  Avg.Score: -159.30, eps-greedy:  0.01, Time: 00:11:33\n",
      "Episode: 144400, Timesteps:  177, Score: -177.0,  Avg.Score: -151.98, eps-greedy:  0.01, Time: 00:11:35\n",
      "Episode: 144800, Timesteps:  166, Score: -166.0,  Avg.Score: -145.43, eps-greedy:  0.01, Time: 00:11:36\n",
      "Episode: 145200, Timesteps:  165, Score: -165.0,  Avg.Score: -143.18, eps-greedy:  0.01, Time: 00:11:38\n",
      "Episode: 145600, Timesteps:  161, Score: -161.0,  Avg.Score: -145.29, eps-greedy:  0.01, Time: 00:11:40\n",
      "Episode: 146000, Timesteps:  147, Score: -147.0,  Avg.Score: -142.21, eps-greedy:  0.01, Time: 00:11:41\n",
      "Episode: 146400, Timesteps:  167, Score: -167.0,  Avg.Score: -143.36, eps-greedy:  0.01, Time: 00:11:43\n",
      "Episode: 146800, Timesteps:  107, Score: -107.0,  Avg.Score: -143.75, eps-greedy:  0.01, Time: 00:11:45\n",
      "Episode: 147200, Timesteps:  160, Score: -160.0,  Avg.Score: -146.35, eps-greedy:  0.01, Time: 00:11:47\n",
      "Episode: 147600, Timesteps:  145, Score: -145.0,  Avg.Score: -143.48, eps-greedy:  0.01, Time: 00:11:49\n",
      "Episode: 148000, Timesteps:  171, Score: -171.0,  Avg.Score: -154.42, eps-greedy:  0.01, Time: 00:11:50\n",
      "Episode: 148400, Timesteps:  142, Score: -142.0,  Avg.Score: -143.86, eps-greedy:  0.01, Time: 00:11:52\n",
      "Episode: 148800, Timesteps:  169, Score: -169.0,  Avg.Score: -143.43, eps-greedy:  0.01, Time: 00:11:54\n",
      "Episode: 149200, Timesteps:  145, Score: -145.0,  Avg.Score: -138.11, eps-greedy:  0.01, Time: 00:11:56\n",
      "Episode: 149600, Timesteps:  168, Score: -168.0,  Avg.Score: -143.61, eps-greedy:  0.01, Time: 00:11:58\n",
      "Episode: 150000, Timesteps:  169, Score: -169.0,  Avg.Score: -160.14, eps-greedy:  0.01, Time: 00:12:00\n",
      "Episode: 150400, Timesteps:  164, Score: -164.0,  Avg.Score: -159.59, eps-greedy:  0.01, Time: 00:12:01\n",
      "Episode: 150800, Timesteps:  139, Score: -139.0,  Avg.Score: -173.57, eps-greedy:  0.01, Time: 00:12:03\n",
      "Episode: 151200, Timesteps:  146, Score: -146.0,  Avg.Score: -145.07, eps-greedy:  0.01, Time: 00:12:05\n",
      "Episode: 151600, Timesteps:  141, Score: -141.0,  Avg.Score: -140.82, eps-greedy:  0.01, Time: 00:12:07\n",
      "Episode: 152000, Timesteps:  110, Score: -110.0,  Avg.Score: -145.59, eps-greedy:  0.01, Time: 00:12:09\n",
      "Episode: 152400, Timesteps:  157, Score: -157.0,  Avg.Score: -142.96, eps-greedy:  0.01, Time: 00:12:11\n",
      "Episode: 152800, Timesteps:  160, Score: -160.0,  Avg.Score: -152.92, eps-greedy:  0.01, Time: 00:12:12\n",
      "Episode: 153200, Timesteps:  161, Score: -161.0,  Avg.Score: -156.73, eps-greedy:  0.01, Time: 00:12:14\n",
      "Episode: 153600, Timesteps:  155, Score: -155.0,  Avg.Score: -154.42, eps-greedy:  0.01, Time: 00:12:16\n",
      "Episode: 154000, Timesteps:  143, Score: -143.0,  Avg.Score: -155.94, eps-greedy:  0.01, Time: 00:12:18\n",
      "Episode: 154400, Timesteps:  173, Score: -173.0,  Avg.Score: -156.40, eps-greedy:  0.01, Time: 00:12:20\n",
      "Episode: 154800, Timesteps:  179, Score: -179.0,  Avg.Score: -156.50, eps-greedy:  0.01, Time: 00:12:21\n",
      "Episode: 155200, Timesteps:  161, Score: -161.0,  Avg.Score: -156.23, eps-greedy:  0.01, Time: 00:12:23\n",
      "Episode: 155600, Timesteps:  162, Score: -162.0,  Avg.Score: -152.47, eps-greedy:  0.01, Time: 00:12:25\n",
      "Episode: 156000, Timesteps:  145, Score: -145.0,  Avg.Score: -142.83, eps-greedy:  0.01, Time: 00:12:27\n",
      "Episode: 156400, Timesteps:  178, Score: -178.0,  Avg.Score: -149.93, eps-greedy:  0.01, Time: 00:12:29\n",
      "Episode: 156800, Timesteps:  179, Score: -179.0,  Avg.Score: -148.12, eps-greedy:  0.01, Time: 00:12:31\n",
      "Episode: 157200, Timesteps:  169, Score: -169.0,  Avg.Score: -150.41, eps-greedy:  0.01, Time: 00:12:33\n",
      "Episode: 157600, Timesteps:  154, Score: -154.0,  Avg.Score: -166.96, eps-greedy:  0.01, Time: 00:12:34\n",
      "Episode: 158000, Timesteps:  186, Score: -186.0,  Avg.Score: -167.23, eps-greedy:  0.01, Time: 00:12:36\n",
      "Episode: 158400, Timesteps:  152, Score: -152.0,  Avg.Score: -143.70, eps-greedy:  0.01, Time: 00:12:38\n",
      "Episode: 158800, Timesteps:  164, Score: -164.0,  Avg.Score: -147.67, eps-greedy:  0.01, Time: 00:12:40\n",
      "Episode: 159200, Timesteps:  147, Score: -147.0,  Avg.Score: -145.25, eps-greedy:  0.01, Time: 00:12:42\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 159600, Timesteps:  145, Score: -145.0,  Avg.Score: -146.01, eps-greedy:  0.01, Time: 00:12:44\n",
      "Episode: 160000, Timesteps:  109, Score: -109.0,  Avg.Score: -141.60, eps-greedy:  0.01, Time: 00:12:45\n",
      "Episode: 160400, Timesteps:  149, Score: -149.0,  Avg.Score: -150.54, eps-greedy:  0.01, Time: 00:12:47\n",
      "Episode: 160800, Timesteps:  147, Score: -147.0,  Avg.Score: -145.85, eps-greedy:  0.01, Time: 00:12:49\n",
      "Episode: 161200, Timesteps:  171, Score: -171.0,  Avg.Score: -149.27, eps-greedy:  0.01, Time: 00:12:51\n",
      "Episode: 161600, Timesteps:  145, Score: -145.0,  Avg.Score: -146.82, eps-greedy:  0.01, Time: 00:12:52\n",
      "Episode: 162000, Timesteps:  145, Score: -145.0,  Avg.Score: -150.85, eps-greedy:  0.01, Time: 00:12:54\n",
      "Episode: 162400, Timesteps:  157, Score: -157.0,  Avg.Score: -159.27, eps-greedy:  0.01, Time: 00:12:56\n",
      "Episode: 162800, Timesteps:  111, Score: -111.0,  Avg.Score: -149.61, eps-greedy:  0.01, Time: 00:12:58\n",
      "Episode: 163200, Timesteps:  108, Score: -108.0,  Avg.Score: -146.50, eps-greedy:  0.01, Time: 00:13:00\n",
      "Episode: 163600, Timesteps:  172, Score: -172.0,  Avg.Score: -149.01, eps-greedy:  0.01, Time: 00:13:02\n",
      "Episode: 164000, Timesteps:  149, Score: -149.0,  Avg.Score: -146.09, eps-greedy:  0.01, Time: 00:13:04\n",
      "Episode: 164400, Timesteps:  160, Score: -160.0,  Avg.Score: -146.05, eps-greedy:  0.01, Time: 00:13:05\n",
      "Episode: 164800, Timesteps:  109, Score: -109.0,  Avg.Score: -139.91, eps-greedy:  0.01, Time: 00:13:07\n",
      "Episode: 165200, Timesteps:  156, Score: -156.0,  Avg.Score: -142.97, eps-greedy:  0.01, Time: 00:13:09\n",
      "Episode: 165600, Timesteps:  150, Score: -150.0,  Avg.Score: -149.77, eps-greedy:  0.01, Time: 00:13:11\n",
      "Episode: 166000, Timesteps:  116, Score: -116.0,  Avg.Score: -146.85, eps-greedy:  0.01, Time: 00:13:13\n",
      "Episode: 166400, Timesteps:  173, Score: -173.0,  Avg.Score: -146.28, eps-greedy:  0.01, Time: 00:13:15\n",
      "Episode: 166800, Timesteps:  149, Score: -149.0,  Avg.Score: -153.02, eps-greedy:  0.01, Time: 00:13:16\n",
      "Episode: 167200, Timesteps:  168, Score: -168.0,  Avg.Score: -150.28, eps-greedy:  0.01, Time: 00:13:18\n",
      "Episode: 167600, Timesteps:  171, Score: -171.0,  Avg.Score: -150.09, eps-greedy:  0.01, Time: 00:13:21\n",
      "Episode: 168000, Timesteps:  114, Score: -114.0,  Avg.Score: -149.70, eps-greedy:  0.01, Time: 00:13:23\n",
      "Episode: 168400, Timesteps:  157, Score: -157.0,  Avg.Score: -151.78, eps-greedy:  0.01, Time: 00:13:24\n",
      "Episode: 168800, Timesteps:  157, Score: -157.0,  Avg.Score: -153.95, eps-greedy:  0.01, Time: 00:13:26\n",
      "Episode: 169200, Timesteps:  111, Score: -111.0,  Avg.Score: -148.94, eps-greedy:  0.01, Time: 00:13:28\n",
      "Episode: 169600, Timesteps:  159, Score: -159.0,  Avg.Score: -144.02, eps-greedy:  0.01, Time: 00:13:30\n",
      "Episode: 170000, Timesteps:  111, Score: -111.0,  Avg.Score: -155.24, eps-greedy:  0.01, Time: 00:13:31\n",
      "Episode: 170400, Timesteps:  150, Score: -150.0,  Avg.Score: -156.82, eps-greedy:  0.01, Time: 00:13:33\n",
      "Episode: 170800, Timesteps:  167, Score: -167.0,  Avg.Score: -149.90, eps-greedy:  0.01, Time: 00:13:35\n",
      "Episode: 171200, Timesteps:  200, Score: -200.0,  Avg.Score: -156.96, eps-greedy:  0.01, Time: 00:13:37\n",
      "Episode: 171600, Timesteps:  137, Score: -137.0,  Avg.Score: -152.60, eps-greedy:  0.01, Time: 00:13:39\n",
      "Episode: 172000, Timesteps:  176, Score: -176.0,  Avg.Score: -154.93, eps-greedy:  0.01, Time: 00:13:40\n",
      "Episode: 172400, Timesteps:  147, Score: -147.0,  Avg.Score: -152.44, eps-greedy:  0.01, Time: 00:13:42\n",
      "Episode: 172800, Timesteps:  133, Score: -133.0,  Avg.Score: -156.05, eps-greedy:  0.01, Time: 00:13:44\n",
      "Episode: 173200, Timesteps:  156, Score: -156.0,  Avg.Score: -151.37, eps-greedy:  0.01, Time: 00:13:46\n",
      "Episode: 173600, Timesteps:  137, Score: -137.0,  Avg.Score: -140.97, eps-greedy:  0.01, Time: 00:13:48\n",
      "Episode: 174000, Timesteps:  152, Score: -152.0,  Avg.Score: -143.29, eps-greedy:  0.01, Time: 00:13:49\n",
      "Episode: 174400, Timesteps:  152, Score: -152.0,  Avg.Score: -142.08, eps-greedy:  0.01, Time: 00:13:51\n",
      "Episode: 174800, Timesteps:  160, Score: -160.0,  Avg.Score: -142.29, eps-greedy:  0.01, Time: 00:13:53\n",
      "Episode: 175200, Timesteps:  161, Score: -161.0,  Avg.Score: -146.56, eps-greedy:  0.01, Time: 00:13:54\n",
      "Episode: 175600, Timesteps:  113, Score: -113.0,  Avg.Score: -147.91, eps-greedy:  0.01, Time: 00:13:56\n",
      "Episode: 176000, Timesteps:  146, Score: -146.0,  Avg.Score: -150.67, eps-greedy:  0.01, Time: 00:13:58\n",
      "Episode: 176400, Timesteps:  111, Score: -111.0,  Avg.Score: -148.48, eps-greedy:  0.01, Time: 00:14:00\n",
      "Episode: 176800, Timesteps:  105, Score: -105.0,  Avg.Score: -139.06, eps-greedy:  0.01, Time: 00:14:01\n",
      "Episode: 177200, Timesteps:  105, Score: -105.0,  Avg.Score: -140.12, eps-greedy:  0.01, Time: 00:14:03\n",
      "Episode: 177600, Timesteps:  155, Score: -155.0,  Avg.Score: -137.27, eps-greedy:  0.01, Time: 00:14:05\n",
      "Episode: 178000, Timesteps:  159, Score: -159.0,  Avg.Score: -139.85, eps-greedy:  0.01, Time: 00:14:06\n",
      "Episode: 178400, Timesteps:  140, Score: -140.0,  Avg.Score: -139.95, eps-greedy:  0.01, Time: 00:14:08\n",
      "Episode: 178800, Timesteps:  108, Score: -108.0,  Avg.Score: -139.87, eps-greedy:  0.01, Time: 00:14:10\n",
      "Episode: 179200, Timesteps:  139, Score: -139.0,  Avg.Score: -134.29, eps-greedy:  0.01, Time: 00:14:11\n",
      "Episode: 179600, Timesteps:  106, Score: -106.0,  Avg.Score: -138.07, eps-greedy:  0.01, Time: 00:14:13\n",
      "Episode: 180000, Timesteps:  144, Score: -144.0,  Avg.Score: -146.19, eps-greedy:  0.01, Time: 00:14:15\n",
      "Episode: 180400, Timesteps:  164, Score: -164.0,  Avg.Score: -139.95, eps-greedy:  0.01, Time: 00:14:16\n",
      "Episode: 180800, Timesteps:  106, Score: -106.0,  Avg.Score: -132.90, eps-greedy:  0.01, Time: 00:14:18\n",
      "Episode: 181200, Timesteps:  105, Score: -105.0,  Avg.Score: -138.33, eps-greedy:  0.01, Time: 00:14:20\n",
      "Episode: 181600, Timesteps:  154, Score: -154.0,  Avg.Score: -140.39, eps-greedy:  0.01, Time: 00:14:21\n",
      "Episode: 182000, Timesteps:  158, Score: -158.0,  Avg.Score: -141.11, eps-greedy:  0.01, Time: 00:14:23\n",
      "Episode: 182400, Timesteps:  140, Score: -140.0,  Avg.Score: -138.64, eps-greedy:  0.01, Time: 00:14:25\n",
      "Episode: 182800, Timesteps:  105, Score: -105.0,  Avg.Score: -141.61, eps-greedy:  0.01, Time: 00:14:26\n",
      "Episode: 183200, Timesteps:  106, Score: -106.0,  Avg.Score: -141.26, eps-greedy:  0.01, Time: 00:14:28\n",
      "Episode: 183600, Timesteps:  162, Score: -162.0,  Avg.Score: -143.90, eps-greedy:  0.01, Time: 00:14:30\n",
      "Episode: 184000, Timesteps:  160, Score: -160.0,  Avg.Score: -141.92, eps-greedy:  0.01, Time: 00:14:32\n",
      "Episode: 184400, Timesteps:  143, Score: -143.0,  Avg.Score: -141.50, eps-greedy:  0.01, Time: 00:14:33\n",
      "Episode: 184800, Timesteps:  161, Score: -161.0,  Avg.Score: -144.88, eps-greedy:  0.01, Time: 00:14:35\n",
      "Episode: 185200, Timesteps:  154, Score: -154.0,  Avg.Score: -144.08, eps-greedy:  0.01, Time: 00:14:37\n",
      "Episode: 185600, Timesteps:  153, Score: -153.0,  Avg.Score: -139.83, eps-greedy:  0.01, Time: 00:14:39\n",
      "Episode: 186000, Timesteps:  162, Score: -162.0,  Avg.Score: -140.05, eps-greedy:  0.01, Time: 00:14:40\n",
      "Episode: 186400, Timesteps:  157, Score: -157.0,  Avg.Score: -140.09, eps-greedy:  0.01, Time: 00:14:42\n",
      "Episode: 186800, Timesteps:  154, Score: -154.0,  Avg.Score: -141.44, eps-greedy:  0.01, Time: 00:14:44\n",
      "Episode: 187200, Timesteps:  152, Score: -152.0,  Avg.Score: -144.22, eps-greedy:  0.01, Time: 00:14:46\n",
      "Episode: 187600, Timesteps:  144, Score: -144.0,  Avg.Score: -139.25, eps-greedy:  0.01, Time: 00:14:47\n",
      "Episode: 188000, Timesteps:  105, Score: -105.0,  Avg.Score: -142.71, eps-greedy:  0.01, Time: 00:14:49\n",
      "Episode: 188400, Timesteps:  157, Score: -157.0,  Avg.Score: -143.54, eps-greedy:  0.01, Time: 00:14:51\n",
      "Episode: 188800, Timesteps:  144, Score: -144.0,  Avg.Score: -139.89, eps-greedy:  0.01, Time: 00:14:52\n",
      "Episode: 189200, Timesteps:  144, Score: -144.0,  Avg.Score: -143.25, eps-greedy:  0.01, Time: 00:14:54\n",
      "Episode: 189600, Timesteps:  144, Score: -144.0,  Avg.Score: -141.64, eps-greedy:  0.01, Time: 00:14:56\n",
      "Episode: 190000, Timesteps:  143, Score: -143.0,  Avg.Score: -140.31, eps-greedy:  0.01, Time: 00:14:57\n",
      "Episode: 190400, Timesteps:  142, Score: -142.0,  Avg.Score: -143.89, eps-greedy:  0.01, Time: 00:14:59\n",
      "Episode: 190800, Timesteps:  105, Score: -105.0,  Avg.Score: -138.84, eps-greedy:  0.01, Time: 00:15:01\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 191200, Timesteps:  160, Score: -160.0,  Avg.Score: -140.48, eps-greedy:  0.01, Time: 00:15:02\n",
      "Episode: 191600, Timesteps:  143, Score: -143.0,  Avg.Score: -139.42, eps-greedy:  0.01, Time: 00:15:04\n",
      "Episode: 192000, Timesteps:  162, Score: -162.0,  Avg.Score: -146.01, eps-greedy:  0.01, Time: 00:15:06\n",
      "Episode: 192400, Timesteps:  142, Score: -142.0,  Avg.Score: -141.99, eps-greedy:  0.01, Time: 00:15:08\n",
      "Episode: 192800, Timesteps:  153, Score: -153.0,  Avg.Score: -140.76, eps-greedy:  0.01, Time: 00:15:09\n",
      "Episode: 193200, Timesteps:  144, Score: -144.0,  Avg.Score: -139.90, eps-greedy:  0.01, Time: 00:15:11\n",
      "Episode: 193600, Timesteps:  140, Score: -140.0,  Avg.Score: -142.61, eps-greedy:  0.01, Time: 00:15:13\n",
      "Episode: 194000, Timesteps:  145, Score: -145.0,  Avg.Score: -140.26, eps-greedy:  0.01, Time: 00:15:15\n",
      "Episode: 194400, Timesteps:  142, Score: -142.0,  Avg.Score: -141.29, eps-greedy:  0.01, Time: 00:15:16\n",
      "Episode: 194800, Timesteps:  142, Score: -142.0,  Avg.Score: -148.94, eps-greedy:  0.01, Time: 00:15:18\n",
      "Episode: 195200, Timesteps:  149, Score: -149.0,  Avg.Score: -149.75, eps-greedy:  0.01, Time: 00:15:20\n",
      "Episode: 195600, Timesteps:  117, Score: -117.0,  Avg.Score: -136.86, eps-greedy:  0.01, Time: 00:15:22\n",
      "Episode: 196000, Timesteps:  181, Score: -181.0,  Avg.Score: -161.79, eps-greedy:  0.01, Time: 00:15:23\n",
      "Episode: 196400, Timesteps:  185, Score: -185.0,  Avg.Score: -175.24, eps-greedy:  0.01, Time: 00:15:26\n",
      "Episode: 196800, Timesteps:  189, Score: -189.0,  Avg.Score: -186.83, eps-greedy:  0.01, Time: 00:15:28\n",
      "Episode: 197200, Timesteps:  161, Score: -161.0,  Avg.Score: -163.83, eps-greedy:  0.01, Time: 00:15:30\n",
      "Episode: 197600, Timesteps:  143, Score: -143.0,  Avg.Score: -158.61, eps-greedy:  0.01, Time: 00:15:32\n",
      "Episode: 198000, Timesteps:  165, Score: -165.0,  Avg.Score: -143.12, eps-greedy:  0.01, Time: 00:15:34\n",
      "Episode: 198400, Timesteps:  110, Score: -110.0,  Avg.Score: -137.66, eps-greedy:  0.01, Time: 00:15:35\n",
      "Episode: 198800, Timesteps:  162, Score: -162.0,  Avg.Score: -172.08, eps-greedy:  0.01, Time: 00:15:37\n",
      "Episode: 199200, Timesteps:  154, Score: -154.0,  Avg.Score: -147.64, eps-greedy:  0.01, Time: 00:15:39\n",
      "Episode: 199600, Timesteps:  150, Score: -150.0,  Avg.Score: -144.75, eps-greedy:  0.01, Time: 00:15:41\n",
      "Episode: 200000, Timesteps:  166, Score: -166.0,  Avg.Score: -144.11, eps-greedy:  0.01, Time: 00:15:42\n",
      "Episode: 200400, Timesteps:  109, Score: -109.0,  Avg.Score: -139.56, eps-greedy:  0.01, Time: 00:15:44\n",
      "Episode: 200800, Timesteps:  111, Score: -111.0,  Avg.Score: -142.01, eps-greedy:  0.01, Time: 00:15:46\n",
      "Episode: 201200, Timesteps:  152, Score: -152.0,  Avg.Score: -134.99, eps-greedy:  0.01, Time: 00:15:48\n",
      "Episode: 201600, Timesteps:  110, Score: -110.0,  Avg.Score: -135.84, eps-greedy:  0.01, Time: 00:15:49\n",
      "Episode: 202000, Timesteps:  146, Score: -146.0,  Avg.Score: -135.05, eps-greedy:  0.01, Time: 00:15:51\n",
      "Episode: 202400, Timesteps:  135, Score: -135.0,  Avg.Score: -133.42, eps-greedy:  0.01, Time: 00:15:53\n",
      "Episode: 202800, Timesteps:  110, Score: -110.0,  Avg.Score: -133.59, eps-greedy:  0.01, Time: 00:15:54\n",
      "Episode: 203200, Timesteps:  134, Score: -134.0,  Avg.Score: -137.97, eps-greedy:  0.01, Time: 00:15:56\n",
      "Episode: 203600, Timesteps:  140, Score: -140.0,  Avg.Score: -135.10, eps-greedy:  0.01, Time: 00:15:58\n",
      "Episode: 204000, Timesteps:  133, Score: -133.0,  Avg.Score: -135.03, eps-greedy:  0.01, Time: 00:15:59\n",
      "Episode: 204400, Timesteps:  151, Score: -151.0,  Avg.Score: -135.52, eps-greedy:  0.01, Time: 00:16:01\n",
      "Episode: 204800, Timesteps:  133, Score: -133.0,  Avg.Score: -133.55, eps-greedy:  0.01, Time: 00:16:03\n",
      "Episode: 205200, Timesteps:  109, Score: -109.0,  Avg.Score: -136.41, eps-greedy:  0.01, Time: 00:16:04\n",
      "Episode: 205600, Timesteps:  135, Score: -135.0,  Avg.Score: -137.25, eps-greedy:  0.01, Time: 00:16:06\n",
      "Episode: 206000, Timesteps:  132, Score: -132.0,  Avg.Score: -134.57, eps-greedy:  0.01, Time: 00:16:07\n",
      "Episode: 206400, Timesteps:  133, Score: -133.0,  Avg.Score: -134.79, eps-greedy:  0.01, Time: 00:16:09\n",
      "Episode: 206800, Timesteps:  142, Score: -142.0,  Avg.Score: -133.99, eps-greedy:  0.01, Time: 00:16:11\n",
      "Episode: 207200, Timesteps:  137, Score: -137.0,  Avg.Score: -135.06, eps-greedy:  0.01, Time: 00:16:12\n",
      "Episode: 207600, Timesteps:  110, Score: -110.0,  Avg.Score: -132.49, eps-greedy:  0.01, Time: 00:16:14\n",
      "Episode: 208000, Timesteps:  152, Score: -152.0,  Avg.Score: -133.60, eps-greedy:  0.01, Time: 00:16:15\n",
      "Episode: 208400, Timesteps:  145, Score: -145.0,  Avg.Score: -134.95, eps-greedy:  0.01, Time: 00:16:17\n",
      "Episode: 208800, Timesteps:  133, Score: -133.0,  Avg.Score: -132.52, eps-greedy:  0.01, Time: 00:16:19\n",
      "Episode: 209200, Timesteps:  139, Score: -139.0,  Avg.Score: -135.19, eps-greedy:  0.01, Time: 00:16:20\n",
      "Episode: 209600, Timesteps:  110, Score: -110.0,  Avg.Score: -132.78, eps-greedy:  0.01, Time: 00:16:22\n",
      "Episode: 210000, Timesteps:  110, Score: -110.0,  Avg.Score: -133.04, eps-greedy:  0.01, Time: 00:16:23\n",
      "Episode: 210400, Timesteps:  145, Score: -145.0,  Avg.Score: -136.36, eps-greedy:  0.01, Time: 00:16:25\n",
      "Episode: 210800, Timesteps:  145, Score: -145.0,  Avg.Score: -133.00, eps-greedy:  0.01, Time: 00:16:26\n",
      "Episode: 211200, Timesteps:  109, Score: -109.0,  Avg.Score: -135.27, eps-greedy:  0.01, Time: 00:16:28\n",
      "Episode: 211600, Timesteps:  134, Score: -134.0,  Avg.Score: -132.43, eps-greedy:  0.01, Time: 00:16:30\n",
      "Episode: 212000, Timesteps:  146, Score: -146.0,  Avg.Score: -128.58, eps-greedy:  0.01, Time: 00:16:31\n",
      "Episode: 212400, Timesteps:  110, Score: -110.0,  Avg.Score: -135.86, eps-greedy:  0.01, Time: 00:16:33\n",
      "Episode: 212800, Timesteps:  141, Score: -141.0,  Avg.Score: -135.31, eps-greedy:  0.01, Time: 00:16:35\n",
      "Episode: 213200, Timesteps:  110, Score: -110.0,  Avg.Score: -135.49, eps-greedy:  0.01, Time: 00:16:36\n",
      "Episode: 213600, Timesteps:  135, Score: -135.0,  Avg.Score: -135.96, eps-greedy:  0.01, Time: 00:16:38\n",
      "Episode: 214000, Timesteps:  152, Score: -152.0,  Avg.Score: -134.88, eps-greedy:  0.01, Time: 00:16:39\n",
      "Episode: 214400, Timesteps:  135, Score: -135.0,  Avg.Score: -133.24, eps-greedy:  0.01, Time: 00:16:41\n",
      "Episode: 214800, Timesteps:  151, Score: -151.0,  Avg.Score: -135.46, eps-greedy:  0.01, Time: 00:16:43\n",
      "Episode: 215200, Timesteps:  148, Score: -148.0,  Avg.Score: -136.93, eps-greedy:  0.01, Time: 00:16:44\n",
      "Episode: 215600, Timesteps:  150, Score: -150.0,  Avg.Score: -132.94, eps-greedy:  0.01, Time: 00:16:46\n",
      "Episode: 216000, Timesteps:  111, Score: -111.0,  Avg.Score: -137.07, eps-greedy:  0.01, Time: 00:16:47\n",
      "Episode: 216400, Timesteps:  150, Score: -150.0,  Avg.Score: -136.49, eps-greedy:  0.01, Time: 00:16:49\n",
      "Episode: 216800, Timesteps:  149, Score: -149.0,  Avg.Score: -136.42, eps-greedy:  0.01, Time: 00:16:51\n",
      "Episode: 217200, Timesteps:  134, Score: -134.0,  Avg.Score: -133.60, eps-greedy:  0.01, Time: 00:16:52\n",
      "Episode: 217600, Timesteps:  184, Score: -184.0,  Avg.Score: -141.38, eps-greedy:  0.01, Time: 00:16:54\n",
      "Episode: 218000, Timesteps:  147, Score: -147.0,  Avg.Score: -135.79, eps-greedy:  0.01, Time: 00:16:55\n",
      "Episode: 218400, Timesteps:  133, Score: -133.0,  Avg.Score: -133.99, eps-greedy:  0.01, Time: 00:16:57\n",
      "Episode: 218800, Timesteps:  133, Score: -133.0,  Avg.Score: -133.29, eps-greedy:  0.01, Time: 00:16:59\n",
      "Episode: 219200, Timesteps:  142, Score: -142.0,  Avg.Score: -133.55, eps-greedy:  0.01, Time: 00:17:00\n",
      "Episode: 219600, Timesteps:  150, Score: -150.0,  Avg.Score: -136.93, eps-greedy:  0.01, Time: 00:17:02\n",
      "Episode: 220000, Timesteps:  111, Score: -111.0,  Avg.Score: -131.45, eps-greedy:  0.01, Time: 00:17:04\n",
      "Episode: 220400, Timesteps:  132, Score: -132.0,  Avg.Score: -132.92, eps-greedy:  0.01, Time: 00:17:05\n",
      "Episode: 220800, Timesteps:  142, Score: -142.0,  Avg.Score: -132.65, eps-greedy:  0.01, Time: 00:17:07\n",
      "Episode: 221200, Timesteps:  144, Score: -144.0,  Avg.Score: -132.69, eps-greedy:  0.01, Time: 00:17:08\n",
      "Episode: 221600, Timesteps:  134, Score: -134.0,  Avg.Score: -132.63, eps-greedy:  0.01, Time: 00:17:10\n",
      "Episode: 222000, Timesteps:  151, Score: -151.0,  Avg.Score: -134.73, eps-greedy:  0.01, Time: 00:17:12\n",
      "Episode: 222400, Timesteps:  154, Score: -154.0,  Avg.Score: -135.66, eps-greedy:  0.01, Time: 00:17:14\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 222800, Timesteps:  110, Score: -110.0,  Avg.Score: -134.62, eps-greedy:  0.01, Time: 00:17:16\n",
      "Episode: 223200, Timesteps:  107, Score: -107.0,  Avg.Score: -134.11, eps-greedy:  0.01, Time: 00:17:17\n",
      "Episode: 223600, Timesteps:  136, Score: -136.0,  Avg.Score: -136.04, eps-greedy:  0.01, Time: 00:17:19\n",
      "Episode: 224000, Timesteps:  159, Score: -159.0,  Avg.Score: -139.75, eps-greedy:  0.01, Time: 00:17:20\n",
      "Episode: 224400, Timesteps:  109, Score: -109.0,  Avg.Score: -138.58, eps-greedy:  0.01, Time: 00:17:22\n",
      "Episode: 224800, Timesteps:  145, Score: -145.0,  Avg.Score: -176.16, eps-greedy:  0.01, Time: 00:17:24\n",
      "Episode: 225200, Timesteps:  140, Score: -140.0,  Avg.Score: -146.98, eps-greedy:  0.01, Time: 00:17:26\n",
      "Episode: 225600, Timesteps:  143, Score: -143.0,  Avg.Score: -186.74, eps-greedy:  0.01, Time: 00:17:28\n",
      "Episode: 226000, Timesteps:  200, Score: -200.0,  Avg.Score: -195.25, eps-greedy:  0.01, Time: 00:17:30\n",
      "Episode: 226400, Timesteps:  158, Score: -158.0,  Avg.Score: -193.99, eps-greedy:  0.01, Time: 00:17:32\n",
      "Episode: 226800, Timesteps:  151, Score: -151.0,  Avg.Score: -160.40, eps-greedy:  0.01, Time: 00:17:34\n",
      "Episode: 227200, Timesteps:  145, Score: -145.0,  Avg.Score: -157.52, eps-greedy:  0.01, Time: 00:17:36\n",
      "Episode: 227600, Timesteps:  151, Score: -151.0,  Avg.Score: -153.96, eps-greedy:  0.01, Time: 00:17:38\n",
      "Episode: 228000, Timesteps:  151, Score: -151.0,  Avg.Score: -149.44, eps-greedy:  0.01, Time: 00:17:39\n",
      "Episode: 228400, Timesteps:  151, Score: -151.0,  Avg.Score: -160.01, eps-greedy:  0.01, Time: 00:17:41\n",
      "Episode: 228800, Timesteps:  155, Score: -155.0,  Avg.Score: -169.41, eps-greedy:  0.01, Time: 00:17:43\n",
      "Episode: 229200, Timesteps:  156, Score: -156.0,  Avg.Score: -167.26, eps-greedy:  0.01, Time: 00:17:45\n",
      "Episode: 229600, Timesteps:  158, Score: -158.0,  Avg.Score: -150.90, eps-greedy:  0.01, Time: 00:17:47\n",
      "Episode: 230000, Timesteps:  135, Score: -135.0,  Avg.Score: -182.96, eps-greedy:  0.01, Time: 00:17:49\n",
      "Episode: 230400, Timesteps:  141, Score: -141.0,  Avg.Score: -146.01, eps-greedy:  0.01, Time: 00:17:51\n",
      "Episode: 230800, Timesteps:  185, Score: -185.0,  Avg.Score: -157.04, eps-greedy:  0.01, Time: 00:17:53\n",
      "Episode: 231200, Timesteps:  131, Score: -131.0,  Avg.Score: -143.82, eps-greedy:  0.01, Time: 00:17:55\n",
      "Episode: 231600, Timesteps:  148, Score: -148.0,  Avg.Score: -146.19, eps-greedy:  0.01, Time: 00:17:56\n",
      "Episode: 232000, Timesteps:  159, Score: -159.0,  Avg.Score: -165.97, eps-greedy:  0.01, Time: 00:17:58\n",
      "Episode: 232400, Timesteps:  156, Score: -156.0,  Avg.Score: -148.66, eps-greedy:  0.01, Time: 00:18:00\n",
      "Episode: 232800, Timesteps:  135, Score: -135.0,  Avg.Score: -135.69, eps-greedy:  0.01, Time: 00:18:02\n",
      "Episode: 233200, Timesteps:  141, Score: -141.0,  Avg.Score: -143.65, eps-greedy:  0.01, Time: 00:18:04\n",
      "Episode: 233600, Timesteps:  145, Score: -145.0,  Avg.Score: -145.14, eps-greedy:  0.01, Time: 00:18:05\n",
      "Episode: 234000, Timesteps:  165, Score: -165.0,  Avg.Score: -142.97, eps-greedy:  0.01, Time: 00:18:07\n",
      "Episode: 234400, Timesteps:  152, Score: -152.0,  Avg.Score: -148.19, eps-greedy:  0.01, Time: 00:18:09\n",
      "Episode: 234800, Timesteps:  112, Score: -112.0,  Avg.Score: -152.00, eps-greedy:  0.01, Time: 00:18:11\n",
      "Episode: 235200, Timesteps:  146, Score: -146.0,  Avg.Score: -159.02, eps-greedy:  0.01, Time: 00:18:13\n",
      "Episode: 235600, Timesteps:  166, Score: -166.0,  Avg.Score: -156.89, eps-greedy:  0.01, Time: 00:18:15\n",
      "Episode: 236000, Timesteps:  144, Score: -144.0,  Avg.Score: -156.42, eps-greedy:  0.01, Time: 00:18:17\n",
      "Episode: 236400, Timesteps:  154, Score: -154.0,  Avg.Score: -156.26, eps-greedy:  0.01, Time: 00:18:19\n",
      "Episode: 236800, Timesteps:  107, Score: -107.0,  Avg.Score: -139.99, eps-greedy:  0.01, Time: 00:18:21\n",
      "Episode: 237200, Timesteps:  167, Score: -167.0,  Avg.Score: -148.26, eps-greedy:  0.01, Time: 00:18:22\n",
      "Episode: 237600, Timesteps:  141, Score: -141.0,  Avg.Score: -139.53, eps-greedy:  0.01, Time: 00:18:24\n",
      "Episode: 238000, Timesteps:  145, Score: -145.0,  Avg.Score: -139.42, eps-greedy:  0.01, Time: 00:18:26\n",
      "Episode: 238400, Timesteps:  110, Score: -110.0,  Avg.Score: -144.74, eps-greedy:  0.01, Time: 00:18:28\n",
      "Episode: 238800, Timesteps:  137, Score: -137.0,  Avg.Score: -138.95, eps-greedy:  0.01, Time: 00:18:29\n",
      "Episode: 239200, Timesteps:  131, Score: -131.0,  Avg.Score: -163.25, eps-greedy:  0.01, Time: 00:18:31\n",
      "Episode: 239600, Timesteps:  124, Score: -124.0,  Avg.Score: -155.79, eps-greedy:  0.01, Time: 00:18:33\n",
      "Episode: 240000, Timesteps:  181, Score: -181.0,  Avg.Score: -160.52, eps-greedy:  0.01, Time: 00:18:35\n",
      "Episode: 240400, Timesteps:  150, Score: -150.0,  Avg.Score: -172.47, eps-greedy:  0.01, Time: 00:18:37\n",
      "Episode: 240800, Timesteps:  166, Score: -166.0,  Avg.Score: -165.00, eps-greedy:  0.01, Time: 00:18:39\n",
      "Episode: 241200, Timesteps:  164, Score: -164.0,  Avg.Score: -164.52, eps-greedy:  0.01, Time: 00:18:41\n",
      "Episode: 241600, Timesteps:  171, Score: -171.0,  Avg.Score: -162.66, eps-greedy:  0.01, Time: 00:18:43\n",
      "Episode: 242000, Timesteps:  142, Score: -142.0,  Avg.Score: -159.35, eps-greedy:  0.01, Time: 00:18:45\n",
      "Episode: 242400, Timesteps:  158, Score: -158.0,  Avg.Score: -156.14, eps-greedy:  0.01, Time: 00:18:47\n",
      "Episode: 242800, Timesteps:  113, Score: -113.0,  Avg.Score: -148.75, eps-greedy:  0.01, Time: 00:18:49\n",
      "Episode: 243200, Timesteps:  148, Score: -148.0,  Avg.Score: -149.92, eps-greedy:  0.01, Time: 00:18:50\n",
      "Episode: 243600, Timesteps:  189, Score: -189.0,  Avg.Score: -129.66, eps-greedy:  0.01, Time: 00:18:52\n",
      "Episode: 244000, Timesteps:  190, Score: -190.0,  Avg.Score: -135.13, eps-greedy:  0.01, Time: 00:18:54\n",
      "Episode: 244400, Timesteps:  121, Score: -121.0,  Avg.Score: -135.19, eps-greedy:  0.01, Time: 00:18:55\n",
      "Episode: 244800, Timesteps:  117, Score: -117.0,  Avg.Score: -135.47, eps-greedy:  0.01, Time: 00:18:57\n",
      "Episode: 245200, Timesteps:  116, Score: -116.0,  Avg.Score: -139.54, eps-greedy:  0.01, Time: 00:18:59\n",
      "Episode: 245600, Timesteps:  149, Score: -149.0,  Avg.Score: -157.94, eps-greedy:  0.01, Time: 00:19:01\n",
      "Episode: 246000, Timesteps:  168, Score: -168.0,  Avg.Score: -158.40, eps-greedy:  0.01, Time: 00:19:03\n",
      "Episode: 246400, Timesteps:  168, Score: -168.0,  Avg.Score: -158.84, eps-greedy:  0.01, Time: 00:19:05\n",
      "Episode: 246800, Timesteps:  154, Score: -154.0,  Avg.Score: -162.59, eps-greedy:  0.01, Time: 00:19:07\n",
      "Episode: 247200, Timesteps:  154, Score: -154.0,  Avg.Score: -165.13, eps-greedy:  0.01, Time: 00:19:09\n",
      "Episode: 247600, Timesteps:  183, Score: -183.0,  Avg.Score: -150.12, eps-greedy:  0.01, Time: 00:19:11\n",
      "Episode: 248000, Timesteps:  171, Score: -171.0,  Avg.Score: -150.56, eps-greedy:  0.01, Time: 00:19:13\n",
      "Episode: 248400, Timesteps:  113, Score: -113.0,  Avg.Score: -149.32, eps-greedy:  0.01, Time: 00:19:15\n",
      "Episode: 248800, Timesteps:  161, Score: -161.0,  Avg.Score: -144.50, eps-greedy:  0.01, Time: 00:19:17\n",
      "Episode: 249200, Timesteps:  114, Score: -114.0,  Avg.Score: -137.64, eps-greedy:  0.01, Time: 00:19:18\n",
      "Episode: 249600, Timesteps:  162, Score: -162.0,  Avg.Score: -140.92, eps-greedy:  0.01, Time: 00:19:20\n",
      "Episode: 250000, Timesteps:  167, Score: -167.0,  Avg.Score: -140.20, eps-greedy:  0.01, Time: 00:19:22\n",
      "Episode: 250400, Timesteps:  143, Score: -143.0,  Avg.Score: -148.70, eps-greedy:  0.01, Time: 00:19:24\n",
      "Episode: 250800, Timesteps:  151, Score: -151.0,  Avg.Score: -154.31, eps-greedy:  0.01, Time: 00:19:27\n",
      "Episode: 251200, Timesteps:  150, Score: -150.0,  Avg.Score: -147.91, eps-greedy:  0.01, Time: 00:19:29\n",
      "Episode: 251600, Timesteps:  113, Score: -113.0,  Avg.Score: -146.10, eps-greedy:  0.01, Time: 00:19:31\n",
      "Episode: 252000, Timesteps:  153, Score: -153.0,  Avg.Score: -153.78, eps-greedy:  0.01, Time: 00:19:33\n",
      "Episode: 252400, Timesteps:  168, Score: -168.0,  Avg.Score: -150.46, eps-greedy:  0.01, Time: 00:19:35\n",
      "Episode: 252800, Timesteps:  153, Score: -153.0,  Avg.Score: -153.48, eps-greedy:  0.01, Time: 00:19:37\n",
      "Episode: 253200, Timesteps:  163, Score: -163.0,  Avg.Score: -151.54, eps-greedy:  0.01, Time: 00:19:39\n",
      "Episode: 253600, Timesteps:  124, Score: -124.0,  Avg.Score: -156.86, eps-greedy:  0.01, Time: 00:19:41\n",
      "Episode: 254000, Timesteps:  158, Score: -158.0,  Avg.Score: -166.01, eps-greedy:  0.01, Time: 00:19:43\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Episode: 254400, Timesteps:  155, Score: -155.0,  Avg.Score: -147.37, eps-greedy:  0.01, Time: 00:19:45\n",
      "Episode: 254800, Timesteps:  165, Score: -165.0,  Avg.Score: -148.15, eps-greedy:  0.01, Time: 00:19:47\n",
      "Episode: 255200, Timesteps:  166, Score: -166.0,  Avg.Score: -157.37, eps-greedy:  0.01, Time: 00:19:48\n",
      "Episode: 255600, Timesteps:  156, Score: -156.0,  Avg.Score: -154.28, eps-greedy:  0.01, Time: 00:19:50\n",
      "Episode: 256000, Timesteps:  155, Score: -155.0,  Avg.Score: -155.68, eps-greedy:  0.01, Time: 00:19:52\n",
      "Episode: 256400, Timesteps:  168, Score: -168.0,  Avg.Score: -153.15, eps-greedy:  0.01, Time: 00:19:54\n",
      "Episode: 256800, Timesteps:  169, Score: -169.0,  Avg.Score: -146.62, eps-greedy:  0.01, Time: 00:19:56\n",
      "Episode: 257200, Timesteps:  109, Score: -109.0,  Avg.Score: -141.08, eps-greedy:  0.01, Time: 00:19:58\n",
      "Episode: 257600, Timesteps:  147, Score: -147.0,  Avg.Score: -143.06, eps-greedy:  0.01, Time: 00:20:00\n",
      "Episode: 258000, Timesteps:  157, Score: -157.0,  Avg.Score: -146.22, eps-greedy:  0.01, Time: 00:20:02\n",
      "Episode: 258400, Timesteps:  147, Score: -147.0,  Avg.Score: -141.66, eps-greedy:  0.01, Time: 00:20:04\n",
      "Episode: 258800, Timesteps:  164, Score: -164.0,  Avg.Score: -143.56, eps-greedy:  0.01, Time: 00:20:06\n",
      "Episode: 259200, Timesteps:  141, Score: -141.0,  Avg.Score: -139.66, eps-greedy:  0.01, Time: 00:20:07\n",
      "Episode: 259600, Timesteps:  157, Score: -157.0,  Avg.Score: -145.49, eps-greedy:  0.01, Time: 00:20:09\n",
      "Episode: 260000, Timesteps:  146, Score: -146.0,  Avg.Score: -148.34, eps-greedy:  0.01, Time: 00:20:12\n",
      "Episode: 260400, Timesteps:  150, Score: -150.0,  Avg.Score: -159.03, eps-greedy:  0.01, Time: 00:20:15\n",
      "Episode: 260800, Timesteps:  146, Score: -146.0,  Avg.Score: -138.92, eps-greedy:  0.01, Time: 00:20:17\n",
      "Episode: 261200, Timesteps:  141, Score: -141.0,  Avg.Score: -139.33, eps-greedy:  0.01, Time: 00:20:19\n",
      "Episode: 261600, Timesteps:  145, Score: -145.0,  Avg.Score: -146.34, eps-greedy:  0.01, Time: 00:20:21\n",
      "Episode: 262000, Timesteps:  156, Score: -156.0,  Avg.Score: -144.51, eps-greedy:  0.01, Time: 00:20:23\n",
      "Episode: 262400, Timesteps:  149, Score: -149.0,  Avg.Score: -145.80, eps-greedy:  0.01, Time: 00:20:24\n",
      "Episode: 262800, Timesteps:  139, Score: -139.0,  Avg.Score: -158.80, eps-greedy:  0.01, Time: 00:20:27\n",
      "Episode: 263200, Timesteps:  200, Score: -200.0,  Avg.Score: -157.83, eps-greedy:  0.01, Time: 00:20:29\n",
      "Episode: 263600, Timesteps:  187, Score: -187.0,  Avg.Score: -135.32, eps-greedy:  0.01, Time: 00:20:31\n",
      "Episode: 264000, Timesteps:  110, Score: -110.0,  Avg.Score: -143.17, eps-greedy:  0.01, Time: 00:20:33\n",
      "Episode: 264400, Timesteps:  151, Score: -151.0,  Avg.Score: -181.20, eps-greedy:  0.01, Time: 00:20:35\n",
      "Episode: 264800, Timesteps:  195, Score: -195.0,  Avg.Score: -184.18, eps-greedy:  0.01, Time: 00:20:37\n",
      "Episode: 265200, Timesteps:  200, Score: -200.0,  Avg.Score: -184.49, eps-greedy:  0.01, Time: 00:20:40\n",
      "Episode: 265600, Timesteps:  122, Score: -122.0,  Avg.Score: -152.97, eps-greedy:  0.01, Time: 00:20:42\n",
      "Episode: 266000, Timesteps:  118, Score: -118.0,  Avg.Score: -146.89, eps-greedy:  0.01, Time: 00:20:44\n",
      "Episode: 266400, Timesteps:  110, Score: -110.0,  Avg.Score: -145.83, eps-greedy:  0.01, Time: 00:20:46\n",
      "Episode: 266800, Timesteps:  163, Score: -163.0,  Avg.Score: -148.74, eps-greedy:  0.01, Time: 00:20:48\n",
      "Episode: 267200, Timesteps:  150, Score: -150.0,  Avg.Score: -154.62, eps-greedy:  0.01, Time: 00:20:50\n",
      "Episode: 267600, Timesteps:  154, Score: -154.0,  Avg.Score: -145.71, eps-greedy:  0.01, Time: 00:20:52\n",
      "Episode: 268000, Timesteps:  162, Score: -162.0,  Avg.Score: -160.45, eps-greedy:  0.01, Time: 00:20:54\n",
      "Episode: 268400, Timesteps:  182, Score: -182.0,  Avg.Score: -162.14, eps-greedy:  0.01, Time: 00:20:56\n",
      "Episode: 268800, Timesteps:  184, Score: -184.0,  Avg.Score: -159.59, eps-greedy:  0.01, Time: 00:20:58\n",
      "Episode: 269200, Timesteps:  161, Score: -161.0,  Avg.Score: -155.74, eps-greedy:  0.01, Time: 00:21:00\n",
      "Episode: 269600, Timesteps:  143, Score: -143.0,  Avg.Score: -156.61, eps-greedy:  0.01, Time: 00:21:02\n",
      "Episode: 270000, Timesteps:  148, Score: -148.0,  Avg.Score: -156.81, eps-greedy:  0.01, Time: 00:21:04\n",
      "Episode: 270400, Timesteps:  111, Score: -111.0,  Avg.Score: -150.40, eps-greedy:  0.01, Time: 00:21:06\n",
      "Episode: 270800, Timesteps:  160, Score: -160.0,  Avg.Score: -147.76, eps-greedy:  0.01, Time: 00:21:08\n",
      "Episode: 271200, Timesteps:  118, Score: -118.0,  Avg.Score: -148.65, eps-greedy:  0.01, Time: 00:21:10\n",
      "Episode: 271600, Timesteps:  149, Score: -149.0,  Avg.Score: -155.02, eps-greedy:  0.01, Time: 00:21:12\n",
      "Episode: 272000, Timesteps:  135, Score: -135.0,  Avg.Score: -136.50, eps-greedy:  0.01, Time: 00:21:14\n",
      "Episode: 272400, Timesteps:  114, Score: -114.0,  Avg.Score: -144.64, eps-greedy:  0.01, Time: 00:21:16\n",
      "Episode: 272800, Timesteps:  133, Score: -133.0,  Avg.Score: -161.04, eps-greedy:  0.01, Time: 00:21:18\n",
      "Episode: 273200, Timesteps:  185, Score: -185.0,  Avg.Score: -150.72, eps-greedy:  0.01, Time: 00:21:20\n",
      "Episode: 273600, Timesteps:  200, Score: -200.0,  Avg.Score: -163.46, eps-greedy:  0.01, Time: 00:21:22\n",
      "Episode: 274000, Timesteps:  115, Score: -115.0,  Avg.Score: -135.39, eps-greedy:  0.01, Time: 00:21:24\n",
      "Episode: 274400, Timesteps:  118, Score: -118.0,  Avg.Score: -129.67, eps-greedy:  0.01, Time: 00:21:26\n",
      "Episode: 274800, Timesteps:  130, Score: -130.0,  Avg.Score: -134.86, eps-greedy:  0.01, Time: 00:21:27\n",
      "Episode: 275200, Timesteps:  116, Score: -116.0,  Avg.Score: -133.63, eps-greedy:  0.01, Time: 00:21:30\n",
      "Episode: 275600, Timesteps:  178, Score: -178.0,  Avg.Score: -174.01, eps-greedy:  0.01, Time: 00:21:32\n",
      "Episode: 276000, Timesteps:  164, Score: -164.0,  Avg.Score: -170.74, eps-greedy:  0.01, Time: 00:21:34\n",
      "Episode: 276400, Timesteps:  158, Score: -158.0,  Avg.Score: -171.59, eps-greedy:  0.01, Time: 00:21:37\n",
      "Episode: 276800, Timesteps:  192, Score: -192.0,  Avg.Score: -151.20, eps-greedy:  0.01, Time: 00:21:39\n",
      "Episode: 277200, Timesteps:  156, Score: -156.0,  Avg.Score: -149.67, eps-greedy:  0.01, Time: 00:21:41\n",
      "Episode: 277600, Timesteps:  126, Score: -126.0,  Avg.Score: -142.39, eps-greedy:  0.01, Time: 00:21:43\n",
      "Episode: 278000, Timesteps:  185, Score: -185.0,  Avg.Score: -142.14, eps-greedy:  0.01, Time: 00:21:44\n",
      "Episode: 278400, Timesteps:  114, Score: -114.0,  Avg.Score: -138.80, eps-greedy:  0.01, Time: 00:21:46\n",
      "Episode: 278800, Timesteps:  160, Score: -160.0,  Avg.Score: -145.13, eps-greedy:  0.01, Time: 00:21:48\n",
      "Episode: 279200, Timesteps:  101, Score: -101.0,  Avg.Score: -136.76, eps-greedy:  0.01, Time: 00:21:50\n",
      "Episode: 279600, Timesteps:  148, Score: -148.0,  Avg.Score: -128.03, eps-greedy:  0.01, Time: 00:21:52\n",
      "Episode: 280000, Timesteps:  174, Score: -174.0,  Avg.Score: -122.91, eps-greedy:  0.01, Time: 00:21:54\n",
      "Episode: 280400, Timesteps:  107, Score: -107.0,  Avg.Score: -121.37, eps-greedy:  0.01, Time: 00:21:55\n",
      "Episode: 280800, Timesteps:  114, Score: -114.0,  Avg.Score: -119.33, eps-greedy:  0.01, Time: 00:21:57\n",
      "Episode: 281200, Timesteps:  135, Score: -135.0,  Avg.Score: -120.35, eps-greedy:  0.01, Time: 00:21:59\n",
      "Episode: 281600, Timesteps:  116, Score: -116.0,  Avg.Score: -122.64, eps-greedy:  0.01, Time: 00:22:00\n",
      "Episode: 282000, Timesteps:  97, Score: -97.0,  Avg.Score: -116.98, eps-greedy:  0.01, Time: 00:22:02\n",
      "Episode: 282400, Timesteps:  89, Score: -89.0,  Avg.Score: -121.86, eps-greedy:  0.01, Time: 00:22:04\n",
      "Episode: 282800, Timesteps:  113, Score: -113.0,  Avg.Score: -119.09, eps-greedy:  0.01, Time: 00:22:05\n",
      "Episode: 283200, Timesteps:  85, Score: -85.0,  Avg.Score: -115.96, eps-greedy:  0.01, Time: 00:22:07\n",
      "Episode: 283600, Timesteps:  114, Score: -114.0,  Avg.Score: -109.86, eps-greedy:  0.01, Time: 00:22:08\n",
      "\n",
      " Environment solved in 283600 episodes!\tAverage Score: -109.86\n",
      "Finished training!\n"
     ]
    }
   ],
   "source": [
    "agent = MountaincarQAgent()\n",
    "scores, avg_scores = agent.train()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "length of scores:  283601 , len of avg_scores:  283601\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Users\\user\\Anaconda2_02Aug2019\\envs\\ml2\\lib\\site-packages\\IPython\\core\\pylabtools.py:128: UserWarning: Creating legend with loc=\"best\" can be slow with large amounts of data.\n",
      "  fig.canvas.print_figure(bytes_io, **kw)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "print('length of scores: ', len(scores), ', len of avg_scores: ', len(avg_scores))\n",
    "\n",
    "fig = plt.figure(figsize=(15,3))\n",
    "ax = fig.add_subplot(111)\n",
    "plt.plot(np.arange(1, len(scores)+1), scores, label=\"Score\")\n",
    "plt.plot(np.arange(1, len(avg_scores)+1), avg_scores, label=\"Avg on 100 episodes\")\n",
    "plt.legend(bbox_to_anchor=(1.05, 1)) \n",
    "plt.ylabel('Score')\n",
    "plt.xlabel('Episodes #')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time 110\n"
     ]
    }
   ],
   "source": [
    "t = agent.run()\n",
    "print(\"Time\", t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "agent.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ml2-kernel",
   "language": "python",
   "name": "ml2-kernel"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
